Skip to content

Follow-ups: Kafka replay GroupId docs + kafka-replay --group-id (#5306), same-type OnException docs (#5357) - #5380

Merged
jeremydmiller merged 2 commits into
mainfrom
gh-5306-replay-group-id-docs-cli
Nov 5, 2026
Merged

jeremydmiller merged 2 commits into
mainfrom
gh-5306-replay-group-id-docs-cli

Conversation

@jeremydmiller

@jeremydmiller jeremydmiller commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

Follow-up to #5343 (closes the loop on #5306).

What changed

  • Docs: docs/guide/messaging/transports/kafka.md ("Replaying a Topic") now explains when to set KafkaReplayRequest.GroupId. You need it when brokers authorize consumer groups by literal name only, because then a generated {live group}-replay-{guid} name can never be granted ahead of time. The section shows the API and CLI forms, and notes that the Assign-only, no-commit consumer makes a fixed, reused name safe.

  • CLI: kafka-replay takes --group-id <name> and passes it through to KafkaReplayRequest.GroupId. The request building is pulled into KafkaReplayCommand.BuildRequest so it can be tested without a host.

  • Docs (follow-up to Merge OnException handlers for the same exception type into one catch clause #5357): docs/guide/http/exception-handling.md has a new subsection, "More than one middleware catching the same exception type". It explains that the OnException methods share one catch block in registration order and that an early exit stops the later ones. It recommends an explicit try/catch when the order is in doubt, and checking the generated code with codegen preview/codegen write.

Tests

  • replays_can_reuse_one_requested_group_id: replays twice against a real broker under the same requested group id, and each run replays the record.
  • the_replay_command_passes_the_group_id_flag_through: checks the mapping from CLI input to the request.

Locally: Wolverine.Kafka.Tests --filter-class "*kafka_replay_envelope_and_group" passes 13/13 on net10.0, and Wolverine.Kafka builds with -f net9.0.

🤖 Generated with Claude Code

https://claude.ai/code/session_01DCggXgxnG3EBXoR9rrq37U

jeremydmiller and others added 2 commits November 5, 2026 11:16
…ka-replay

Follow-up to #5343. The Kafka guide now says when to set a fixed replay group id
(brokers that authorize consumer groups by literal name only), with the API and
CLI forms. The kafka-replay command takes --group-id and passes it through to
KafkaReplayRequest.GroupId.

Tests: a real-broker replay run twice under one requested group id, and the CLI
input-to-request mapping.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DCggXgxnG3EBXoR9rrq37U
#5357)

Two middleware OnException methods for one exception type now share a catch
block in registration order, and an early exit stops the rest. The docs say so,
and recommend an explicit try/catch where the order is in doubt, plus checking
the generated code with codegen preview/write.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DCggXgxnG3EBXoR9rrq37U
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant