David Jacot created KAFKA-14422:
-----------------------------------

             Summary: Consumer rebalance stuck after new static member joins a 
group with members not supporting static members
                 Key: KAFKA-14422
                 URL: https://issues.apache.org/jira/browse/KAFKA-14422
             Project: Kafka
          Issue Type: Bug
    Affects Versions: 3.3.0, 3.2.0, 3.0.0, 3.1.0, 2.8.0, 2.7.0, 2.6.0, 2.5.0, 
2.4.0, 2.3.0
            Reporter: David Jacot
            Assignee: David Jacot


When a consumer group on a version prior to 2.3 is rolled upgraded to a newer 
version and static membership is enabled in the meantime, the consumer group 
remains stuck, iff the leader is still on the old version.

The issue is that setting `GroupInstanceId` in the response to the leader is 
only supported from JoinGroup version >= 5 and that `GroupInstanceId` is not 
ignorable nor handled anywhere else. Hence is there is at least one static 
member in the group, sending the JoinGroup response to the leader fails with a 
serialization error.

> org.apache.kafka.common.errors.UnsupportedVersionException: Attempted to 
> write a non-default groupInstanceId at version 2

When this happens, the member stays around until the group coordinator is 
bounced because a member with a non-null `awaitingJoinCallback` is never 
expired.

We should do two things here:
1) `GroupInstanceId` should be ignorable;
2) We should handle errors while calling callbacks.





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

Reply via email to