Dongnuo Lyu created KAFKA-17228:
-----------------------------------

             Summary: Static member using new protocol should always replace 
the one using the old protocol
                 Key: KAFKA-17228
                 URL: https://issues.apache.org/jira/browse/KAFKA-17228
             Project: Kafka
          Issue Type: Bug
            Reporter: Dongnuo Lyu
            Assignee: Dongnuo Lyu


{color:#172b4d}In the old protocol, when a static consumer shuts down, it 
[won't send explicit LeaveGroup 
request|https://github.com/apache/kafka/blob/010ab19b724ae011e85686ce47320f4f85d9a11f/clients/src/main/java/org/apache/kafka/clients/consumer/internals/AbstractCoordinator.java#L1158-L1164].
 It's okay because the old protocol replaces the existing member whenever a new 
member with the same instance id joins.{color}

{color:#172b4d}However in the new protocol, we [requires the existing member to 
send leave 
group|https://github.com/apache/kafka/blob/trunk/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupMetadataManager.java#L2236-L2238]
 for a new static member to replace the existing one. The gap causes the 
upgraded new consumer unable to join the group in both online/offline 
upgrade.{color}

{color:#172b4d}We should make the static member using new protocol replace the 
static member using old protocol regardless of whether the latter has left the 
group.{color}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to