Sean Quah created KAFKA-18687:
---------------------------------

             Summary: New group coordinator triggers assignment recalculation 
on consumer group upgrade due to static member replacement
                 Key: KAFKA-18687
                 URL: https://issues.apache.org/jira/browse/KAFKA-18687
             Project: Kafka
          Issue Type: Bug
            Reporter: Sean Quah


When a consumer protocol static member replaces an existing member in a classic 
group, it's not necessary to recompute the assignment. However, it happens 
anyway.

In 
[ConsumerGroup.fromClassicGroup|https://github.com/apache/kafka/blob/0ff4dafb7de4e24ddb7961d52e50e728f2eee4eb/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/modern/consumer/ConsumerGroup.java#L1140],
 we don't set the group's subscriptionMetadata.
Later in the consumer group heartbeat, we [call 
updateSubscriptionMetadata|https://github.com/apache/kafka/blob/0ff4dafb7de4e24ddb7961d52e50e728f2eee4eb/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupMetadataManager.java#L1748],
 which [notices that the group's subscriptionMetadata needs an 
update|https://github.com/apache/kafka/blob/0ff4dafb7de4e24ddb7961d52e50e728f2eee4eb/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupMetadataManager.java#L2757]
 and bumps the epoch. Since the epoch is bumped, we [recompute the 
assignment|https://github.com/apache/kafka/blob/0ff4dafb7de4e24ddb7961d52e50e728f2eee4eb/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupMetadataManager.java#L1766].



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

Reply via email to