rabashizade commented on code in PR #2106:
URL: https://github.com/apache/helix/pull/2106#discussion_r881807803


##########
helix-core/src/main/java/org/apache/helix/controller/dataproviders/BaseControllerDataProvider.java:
##########
@@ -241,13 +244,87 @@ private void refreshClusterConfig(final HelixDataAccessor 
accessor,
     if 
(_propertyDataChangedMap.get(HelixConstants.ChangeType.CLUSTER_CONFIG).getAndSet(false))
 {
       _clusterConfig = 
accessor.getProperty(accessor.keyBuilder().clusterConfig());
       refreshedType.add(HelixConstants.ChangeType.CLUSTER_CONFIG);
+      // TODO: This is a temp function to clean up incompatible batched 
disabled instances format.
+      // Remove in later version.
+      if (checkBatchedDisabledInstanceFormat(_clusterConfig) && 
updateBatchDisableFormat(
+          accessor)) {
+        // read from zkz one more time
+        LogUtil.logInfo(logger, getClusterEventId(), String
+            .format("Clean ClusterConfig change for cluster %s, pipeline %s", 
_clusterName,
+                getPipelineName()));
+        _clusterConfig = 
accessor.getProperty(accessor.keyBuilder().clusterConfig());

Review Comment:
   That's a good question, if we know the format is wrong and we fail to update 
ZK, do we want to keep the wrong format in cache as well? My personal opinion 
is that the cache should be fixed regardless, but I might be missing something. 
Regardless, I think you can check the result of the update and based on that 
update `_clusterConfig`. Would that cause duplicate work?



-- 
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]


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

Reply via email to