Skip to content

[kafka] Handle basic Produce requests independently of storage #4281

Description

@gyang94

Purpose

Part of #4185. PR05 of the Kafka compatibility sequence.

Implement non-idempotent Produce v3-v11 with a narrow backend contract. Validate acknowledgements, topic/partition identities and record batches; isolate invalid partitions, preserve response order and copy record data independently of the network buffer.

Acceptance criteria

  • Valid requests preserve records, headers, listener context, acks and timeout.
  • Invalid batches and topics do not suppress valid partitions in the same request.
  • Transactional/idempotent/control batches and duplicate partition entries are rejected.
  • acks=0 emits no response and releases the request buffer on success and failure.
  • Production ApiVersions continues to expose only the existing capabilities until append is integrated.

Dependencies

PR04 Metadata (#4261 / #4266).

Scope boundary

No row conversion, gateway append or production Produce registration.

Implementation

Draft PR #4284: #4284

Java 11 validation: 69 unit tests and 2 integration tests passed at 936fd3f39e9e6fe595ed6bf8e30f0e2b5185ffe3. Review and merge remain pending.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions