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)