Repository: helix Updated Branches: refs/heads/helix-0.6.2-release 977660d0d -> 5b73a826b
[HELIX-345] Speed up the controller pipeline for 0.6.x, merge Project: http://git-wip-us.apache.org/repos/asf/helix/repo Commit: http://git-wip-us.apache.org/repos/asf/helix/commit/5b73a826 Tree: http://git-wip-us.apache.org/repos/asf/helix/tree/5b73a826 Diff: http://git-wip-us.apache.org/repos/asf/helix/diff/5b73a826 Branch: refs/heads/helix-0.6.2-release Commit: 5b73a826b1136cd89ac831c88501ea0a36da9de9 Parents: 977660d Author: Kanak Biscuitwala <[email protected]> Authored: Thu Feb 20 11:05:30 2014 -0800 Committer: Kanak Biscuitwala <[email protected]> Committed: Thu Feb 20 11:05:30 2014 -0800 ---------------------------------------------------------------------- .../helix/controller/stages/ClusterDataCache.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/helix/blob/5b73a826/helix-core/src/main/java/org/apache/helix/controller/stages/ClusterDataCache.java ---------------------------------------------------------------------- diff --git a/helix-core/src/main/java/org/apache/helix/controller/stages/ClusterDataCache.java b/helix-core/src/main/java/org/apache/helix/controller/stages/ClusterDataCache.java index 5d38151..2bf9f11 100644 --- a/helix-core/src/main/java/org/apache/helix/controller/stages/ClusterDataCache.java +++ b/helix-core/src/main/java/org/apache/helix/controller/stages/ClusterDataCache.java @@ -55,9 +55,12 @@ public class ClusterDataCache { private static final String IDEAL_STATE_RULE_PREFIX = "IdealStateRule!"; Map<String, LiveInstance> _liveInstanceMap; + Map<String, LiveInstance> _liveInstanceCacheMap; Map<String, IdealState> _idealStateMap; + Map<String, IdealState> _idealStateCacheMap; Map<String, StateModelDefinition> _stateModelDefMap; Map<String, InstanceConfig> _instanceConfigMap; + Map<String, InstanceConfig> _instanceConfigCacheMap; Map<String, ClusterConstraints> _constraintMap; Map<String, Map<String, Map<String, CurrentState>>> _currentStateMap; Map<String, Map<String, Message>> _messageMap; @@ -89,10 +92,13 @@ public class ClusterDataCache { Builder keyBuilder = accessor.keyBuilder(); if (_init) { - _idealStateMap = accessor.getChildValuesMap(keyBuilder.idealStates()); - _liveInstanceMap = accessor.getChildValuesMap(keyBuilder.liveInstances()); - _instanceConfigMap = accessor.getChildValuesMap(keyBuilder.instanceConfigs()); + _idealStateCacheMap = accessor.getChildValuesMap(keyBuilder.idealStates()); + _liveInstanceCacheMap = accessor.getChildValuesMap(keyBuilder.liveInstances()); + _instanceConfigCacheMap = accessor.getChildValuesMap(keyBuilder.instanceConfigs()); } + _idealStateMap = Maps.newHashMap(_idealStateCacheMap); + _liveInstanceMap = Maps.newHashMap(_liveInstanceCacheMap); + _instanceConfigMap = Maps.newHashMap(_instanceConfigCacheMap); if (LOG.isTraceEnabled()) { for (LiveInstance instance : _liveInstanceMap.values()) { @@ -240,7 +246,7 @@ public class ClusterDataCache { for (IdealState idealState : idealStates) { idealStateMap.put(idealState.getId(), idealState); } - _idealStateMap = idealStateMap; + _idealStateCacheMap = idealStateMap; } public Map<String, Map<String, String>> getIdealStateRules() { @@ -260,7 +266,7 @@ public class ClusterDataCache { for (LiveInstance liveInstance : liveInstances) { liveInstanceMap.put(liveInstance.getId(), liveInstance); } - _liveInstanceMap = liveInstanceMap; + _liveInstanceCacheMap = liveInstanceMap; } /** @@ -369,7 +375,7 @@ public class ClusterDataCache { for (InstanceConfig instanceConfig : instanceConfigs) { instanceConfigMap.put(instanceConfig.getId(), instanceConfig); } - _instanceConfigMap = instanceConfigMap; + _instanceConfigCacheMap = instanceConfigMap; } /**
