Skip to content

KAFKA-21307: Add share group DLQ setup to ShareConsumeBenchSpec - #23867

Merged
smjn merged 3 commits into
apache:trunkfrom
smjn:KAFKA-21307
Oct 19, 2026
Merged

smjn merged 3 commits into
apache:trunkfrom
smjn:KAFKA-21307

Conversation

@smjn

@smjn smjn commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

Add two optional fields to ShareConsumeBenchSpec:

  • shareGroupDLQConfig: the DLQ topic name, its PartitionsSpec and
    copyRecordEnable. Before the consumers start, ShareConsumeBenchWorker
    creates the DLQ topic, enables it for use as a DLQ, and sets the DLQ
    topic name and copy record configs on the share group.
  • recordAcknowledger: a RecordAcknowledger, following the
    RecordProcessor pattern, that returns the AcknowledgeType for each
    consumed record. RandomRecordAcknowledger is the first implementation.
    Its counts are reported in the worker status.

recordAcknowledger makes the consumers use explicit acknowledgement mode
and cannot be combined with acknowledgeType.

Reviewers: Andrew Schofield aschofield@confluent.io

smjn and others added 3 commits October 19, 2026 20:34
…reConsumeBenchSpec

Add two optional fields to ShareConsumeBenchSpec:

- shareGroupDLQConfig: the DLQ topic name, its PartitionsSpec and
  copyRecordEnable. Before the consumers start, ShareConsumeBenchWorker
  creates the DLQ topic, enables it for use as a DLQ, and sets the DLQ
  topic name and copy record configs on the share group.
- recordAcknowledger: a RecordAcknowledger, following the RecordProcessor
  pattern, that returns the AcknowledgeType for each consumed record.
  RandomRecordAcknowledger is the first implementation. Its counts are
  reported in the worker status.

recordAcknowledger makes the consumers use explicit acknowledgement mode
and cannot be combined with acknowledgeType.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…pDLQConfig

Follow the existing spec convention: only pluggable components such as
recordProcessor and recordAcknowledger take Optional constructor
parameters. Simple values keep a nullable parameter that is wrapped in an
Optional, which the getter returns.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@smjn
smjn requested a review from AndrewJSchofield October 19, 2026 15:13
@smjn smjn added KIP-932 Queues for Kafka ci-approved labels Oct 19, 2026
@github-actions github-actions Bot added triage PRs from the community tools labels Oct 19, 2026
@smjn
smjn merged commit a0d918c into apache:trunk Oct 19, 2026
25 checks passed
@github-actions github-actions Bot removed the triage PRs from the community label Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants