qqu0127 commented on code in PR #2100:
URL: https://github.com/apache/helix/pull/2100#discussion_r874005767
##########
helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixAdmin.java:
##########
@@ -1933,28 +1933,35 @@ public ZNRecord update(ZNRecord currentData) {
ClusterConfig clusterConfig = new ClusterConfig(currentData);
Map<String, String> disabledInstances = new
TreeMap<>(clusterConfig.getDisabledInstances());
+ Map<String, String> disabledInstancesWithInfo = new
TreeMap<>(clusterConfig.getDisabledInstancesWithInfo());
if (enabled) {
disabledInstances.keySet().removeAll(instances);
+ disabledInstancesWithInfo.keySet().removeAll(instances);
} else {
for (String disabledInstance : instances) {
// We allow user to override disabledType and reason for an
already disabled instance.
+ // TODO: we are updating both DISABLED_INSTANCES and
DISABLED_INSTANCES_W_INFO for
+ // backward compatible. Deprecate DISABLED_INSTANCES in the future.
// TODO: update the history ZNode
- disabledInstances
- .put(disabledInstance,
assembleInstanceBatchedDisabledInfo(disabledType, reason));
+ String timeStamp = String.valueOf(System.currentTimeMillis());
+ disabledInstances.put(disabledInstance, timeStamp);
+ disabledInstancesWithInfo
+ .put(disabledInstance,
assembleInstanceBatchedDisabledInfo(disabledType, reason, timeStamp));
}
}
clusterConfig.setDisabledInstances(disabledInstances);
+ clusterConfig.setDisabledInstancesWithInfo(disabledInstancesWithInfo);
Review Comment:
A general question.
I see the new controller now writes to two fields together. What happens if
the two fields are inconsistent? This will likely be the case when we upgrade
controller again with existing disabled instance data in the old field.
--
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]