conduktor.io ↗

KIP-812 — Introduce another form of the `KafkaStreams.close()` API that forces the member to leave the consumer group

Accepted Kafka 3.3 StreamsConsumer

KIP-812 adds a `KafkaStreams.close(CloseOptions)` overload with a `leaveGroup=true` option that sends a `LeaveGroup` request before shutting down the Streams instance. The existing `close()` intentionally skips `LeaveGroup` to optimize rolling bounces, but this makes permanent scale-down events slow: the consumer group must wait for `session.timeout` (default 45 seconds in recent versions) before reallocating the departed instance's partitions.

Details

AuthorSeungchan Ahn
StatusAccepted
Kafka Version3.3
JIRAKAFKA-13217
WikiView on Apache Wiki
Created2022-01-12
Last Modified2022-05-23
Explore how this KIP affects the Kafka protocol in the Protocol Explorer, or see the full KIP database.