gabriellefu commented on code in PR #23088:
URL: https://github.com/apache/kafka/pull/23088#discussion_r3723307666
##########
group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupMetadataManager.java:
##########
@@ -2227,10 +2244,13 @@ private CoordinatorResult<StreamsGroupHeartbeatResult,
CoordinatorRecord> stream
assignmentUpdate = AssignmentUpdate.RECOMPUTE;
}
- // Check if assignment configurations have changed
+ // Check if assignment configurations have changed. Both sides are
compared without their default-valued
+ // configurations, so that a configuration that an older version wrote
out explicitly at its default value
+ // does not read as a change.
Map<String, String> currentAssignmentConfigs =
streamsGroupAssignmentConfigs(groupId);
Map<String, String> storedAssignmentConfigs =
group.lastAssignmentConfigs();
- if (assignmentUpdate == AssignmentUpdate.NONE &&
!currentAssignmentConfigs.equals(storedAssignmentConfigs)) {
+ if (assignmentUpdate == AssignmentUpdate.NONE
Review Comment:
The default of a config should be something like 0 or null if it's newly
added to a assignor in the future version. In this case, if one config is newly
added and not set, it should looks the same after withoutDefaults() when it's
the first time added to the config.
--
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]