Skip to content

Comments

Add native dead letter queue support for Kafka transport#2170

Merged
jeremydmiller merged 1 commit intomainfrom
GH1903
Feb 12, 2026
Merged

Add native dead letter queue support for Kafka transport#2170
jeremydmiller merged 1 commit intomainfrom
GH1903

Conversation

@jeremydmiller
Copy link
Member

Summary

Closes #1903

  • Adds opt-in native dead letter queue (DLQ) support for the Kafka transport, routing failed messages to a configurable Kafka topic (default: wolverine-dead-letter-queue) with exception metadata headers (exception-type, exception-message, exception-stack, failed-at)
  • Follows the existing Redis DLQ pattern: KafkaListener implements ISupportDeadLetterQueue, KafkaTopic overrides TryBuildDeadLetterSender(), fluent API via EnableNativeDeadLetterQueue() on listener config and DeadLetterQueueTopicName() on transport config
  • Includes integration tests, compliance test suite, and documentation

Test plan

  • 5 DLQ integration tests pass (message routing, exception headers, default disabled, default/custom topic names)
  • 18 DLQ compliance tests pass (TransportCompliance<BufferedComplianceWithDlqFixture>)
  • 18 existing buffered compliance tests pass (no regressions)
  • 18 existing inline compliance tests pass (no regressions)
  • All other Kafka test fixtures pass

🤖 Generated with Claude Code

Enable opt-in routing of failed Kafka messages to a configurable DLQ topic
(default: wolverine-dead-letter-queue) with exception metadata headers,
following the existing Redis DLQ pattern. Includes integration tests,
compliance tests, and documentation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

"Native" Kafka DLQ Topics

1 participant