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)