Skip to content
Kafka Is Fun

AdvancedKafka 4.x

How does the KIP-848 consumer rebalance protocol differ from the classic protocol, and how does a consumer opt in?

Reference answer

In the classic protocol every membership change sends the whole group through a synchronization barrier: members revoke their partitions, rejoin, and wait for an assignment computed on the client side by the group leader. Even cooperative rebalancing depends on that barrier. KIP-848 moves the work to the broker: the group coordinator computes a target assignment with a server-side assignor (uniform or range) and each member reconciles toward it incrementally through its heartbeats; the design goal is that a member whose assignment does not change is not impacted. It is generally available in 4.0 and a client opts in with group.protocol=consumer (the default is classic). Session timeout and heartbeat interval become broker settings (group.consumer.session.timeout.ms and group.consumer.heartbeat.interval.ms), and client-side assignors are not supported.

Expected key concepts: KIP-848, group.protocol, consumer, coordinator, server-side assignor, heartbeat, barrier, incremental, uniform, range, reconcile

How did that feel?

Your own verdict, not the score. It shows up next to this question in the list, so you can come back to the shaky ones.