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
| Author | Seungchan Ahn |
| Status | Accepted |
| Kafka Version | 3.3 |
| JIRA | KAFKA-13217 |
| Wiki | View on Apache Wiki |
| Created | 2022-01-12 |
| Last Modified | 2022-05-23 |
Explore how this KIP affects the Kafka protocol in the Protocol Explorer, or see the full KIP database.