ScenarioKafka 4.x
A team wants to move a running consumer group to the new rebalance protocol without downtime. What do they do, and what do they check first?
Reference answer
They roll out the consumers one at a time (a rolling restart) with group.protocol=consumer. When the first consumer using the new protocol joins, the group is converted from classic to consumer (online conversion), which works only if the classic group uses an assignor that does not embed custom metadata; the group converts back when the last new-protocol consumer leaves. Before starting they check the limitations the 4.2 documentation lists: client-side assignors are not supported (assignors are chosen on the broker through group.consumer.assignors, uniform and range by default), and rack-aware assignment strategies are not fully supported. The client settings session.timeout.ms and heartbeat.interval.ms are not supported with the new protocol; the broker settings group.consumer.session.timeout.ms and group.consumer.heartbeat.interval.ms control them. Once groups use the new protocol the cluster can only be downgraded to 3.4.1 or newer.
Expected key concepts: group.protocol=consumer, rolling, online conversion, custom metadata, client-side assignor, rack-aware, session.timeout.ms, group.consumer.session.timeout.ms, downgrade, classic
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.