lucasbru commented on code in PR #21565:
URL: https://github.com/apache/kafka/pull/21565#discussion_r2873477877
##########
group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupMetadataManager.java:
##########
@@ -8733,6 +8986,18 @@ private Map<String, String>
streamsGroupAssignmentConfigs(String groupId) {
return Map.of("num.standby.replicas", numStandbyReplicas.toString());
}
+ static boolean hasEpochRelevantMemberConfigChanged(
+ StreamsGroupMember oldMember,
+ StreamsGroupMember newMember
+ ) {
+ // The group epoch is bumped: (KIP-1071)
+ // - When a member updates its topology metadata, rack ID, client tags
or process ID.
+ return !Objects.equals(oldMember.topologyEpoch(),
newMember.topologyEpoch())
+ || !Objects.equals(oldMember.rackId(), newMember.rackId())
Review Comment:
I think the difference is mainly in configs that are always fixed in Kafka
Streams clients
- rebalance.timeout.ms
- user.endpoint
- client ID
- client Host
So it did not make a difference before. But you are right that with static
members, this does make a difference since we can restart the client without a
rebalance.
But I think it would be fine to then always call this method, even for
dynamic members.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]