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)