spring-cloud / spring-cloud-stream-binder-kafka

Spring Cloud Stream binders for Apache Kafka and Kafka Streams
Apache License 2.0
331 stars 301 forks source link

Refactor DlqSender to Wait For the SendResultFuture to Complete #1046

Closed garyrussell closed 3 years ago

garyrussell commented 3 years ago

The SendResult is being processed asynchronously, causing the offset commit to be queued and will incorrectly commit the wrong offset with MANUAL_IMMEDIATE AckMode.

See https://gitter.im/spring-cloud/spring-cloud-stream?at=6050f43595e23446e43cacd1

Temporary work around is to use MANUAL AckMode instead (so all commits are queued in order).