[ https://issues.apache.org/jira/browse/KAFKA-17228?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
David Jacot resolved KAFKA-17228. --------------------------------- Fix Version/s: 4.0.0 Reviewer: David Jacot Resolution: Fixed > 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: Sub-task > Reporter: Dongnuo Lyu > Assignee: Dongnuo Lyu > Priority: Major > Fix For: 4.0.0 > > > {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)