Skip to content

Expose native Kafka Streams DLQ configuration (KIP-1034) #4328

@sobychacko

Description

@sobychacko

Kafka Streams (4.2) added native DLQ support via KIP-1034. All three exception handlers (DeserializationExceptionHandler, ProcessingExceptionHandler, ProductionExceptionHandler) gained a handleError() method that returns a Response containing a result (RESUME/FAIL) and an optional list of DLQ ProducerRecords. The DLQ topic is configured via errors.dead.letter.queue.topic.name.

Spring Kafka's RecoveringDeserializationExceptionHandler already implements handleError() but bypasses the native DLQ — it returns Response.resume() with no DLQ records and instead routes failures through DeadLetterPublishingRecoverer + KafkaTemplate.

Changes needed:

  • Expose the native DLQ topic configuration on StreamsBuilderFactoryBean
  • Consider providing Spring-friendly equivalents of RecoveringDeserializationExceptionHandler for the processing and production exception handler types

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions