narendly commented on a change in pull request #519: Refine the rebalance scope 
calculating logic in the WAGED rebalancer.
URL: https://github.com/apache/helix/pull/519#discussion_r337798905
 
 

 ##########
 File path: 
helix-core/src/main/java/org/apache/helix/controller/changedetector/ResourceChangeSnapshot.java
 ##########
 @@ -72,6 +73,17 @@
     _changedTypes = new HashSet<>(dataProvider.getRefreshedChangeTypes());
     _instanceConfigMap = new HashMap<>(dataProvider.getInstanceConfigMap());
     _idealStateMap = new HashMap<>(dataProvider.getIdealStates());
+    for (String resourceName : _idealStateMap.keySet()) {
+      IdealState orgIdealState = _idealStateMap.get(resourceName);
+      if 
(orgIdealState.getRebalanceMode().equals(IdealState.RebalanceMode.FULL_AUTO)) {
+        IdealState trimmedIdealState = new 
IdealState(orgIdealState.getRecord());
+        // For FullAuto resources, map fields and list fields in the 
IdealStates is not user's input.
+        // So there is no need to detect any change in these 2 scopes.
+        trimmedIdealState.getRecord().setListFields(Collections.emptyMap());
+        trimmedIdealState.getRecord().setMapFields(Collections.emptyMap());
+        _idealStateMap.put(resourceName, trimmedIdealState);
 
 Review comment:
   Do we want to do this in ResourceChangeSnapshot? ChangeDetector is a generic 
component. Is it possible to move this logic to WagedRebalancer?
   
   Another option is to make this configurable in ChangeDetector by adding 
something like `_ignoreIdealStateMappingChanges`.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to