conduktor.io ↗

KIP-822 — Optimize the semantics of KafkaConsumer#pause to be consistent between the two RebalanceProtocols

Discussion Consumer

Fixes a bug where `KafkaConsumer.pause()` state is incorrectly cleared during rebalance in both EAGER and COOPERATIVE protocols, causing previously paused partitions to resume delivering records unexpectedly. `ConsumerCoordinator.invokePartitionsRevoked()` clears the paused set without flushing corresponding buffered fetch data, leading to duplicate or unintended record delivery after the pause is cleared.

Details

AuthorRivenSun
StatusDiscussion
JIRAKAFKA-13463
WikiView on Apache Wiki
Created2022-02-12
Last Modified2022-02-12
Explore how this KIP affects the Kafka protocol in the Protocol Explorer, or see the full KIP database.