[
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)