...
We basically want to re-joining leader to know that it is the current leader of the group while avoiding computing a new assignment. We propose to achieve this by adding a SkipAssignment
field in the JoinGroupResponse
. When the group coordinator detects that the static leader is rejoining the group, it will set SkipAssignment
to true, set the correct leader id and provide subscriptions of all members (which might be different from the leader's own subscriptions) so that the leader can monitor all topics subscribed in the group. Then the leader will send an empty SyncGroup
with no assignment to collect its own (and existing) assignment. The group coordinator will do so only for consumers that support the latest version of the JoinGroup
API. Other consumers will continue to behave as they do today.
...