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]

Reply via email to