You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by jx...@apache.org on 2019/11/21 00:32:50 UTC
[helix] 01/05: Fix RoutingDataCache always requiring full refresh
for current state.
This is an automated email from the ASF dual-hosted git repository.
jxue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/helix.git
View the commit online:
https://github.com/apache/helix/commit/634484d96f1854ef733f6615919df87c601d024c
commit 634484d96f1854ef733f6615919df87c601d024c
Author: Huizhi Lu <ih...@gmail.com>
AuthorDate: Wed Sep 18 16:50:39 2019 -0700
Fix RoutingDataCache always requiring full refresh for current state.
---
.../main/java/org/apache/helix/common/caches/BasicClusterDataCache.java | 1 +
.../src/main/java/org/apache/helix/spectator/RoutingDataCache.java | 1 +
2 files changed, 2 insertions(+)
diff --git a/helix-core/src/main/java/org/apache/helix/common/caches/BasicClusterDataCache.java b/helix-core/src/main/java/org/apache/helix/common/caches/BasicClusterDataCache.java
index d4ffedd..5389493 100644
--- a/helix-core/src/main/java/org/apache/helix/common/caches/BasicClusterDataCache.java
+++ b/helix-core/src/main/java/org/apache/helix/common/caches/BasicClusterDataCache.java
@@ -114,6 +114,7 @@ public class BasicClusterDataCache implements ControlContextProvider {
if (_propertyDataChangedMap.get(HelixConstants.ChangeType.LIVE_INSTANCE)) {
long start = System.currentTimeMillis();
_propertyDataChangedMap.put(HelixConstants.ChangeType.LIVE_INSTANCE, Boolean.valueOf(false));
+ _propertyDataChangedMap.put(HelixConstants.ChangeType.CURRENT_STATE, true);
_liveInstancePropertyCache.refresh(accessor);
LOG.info("Reload LiveInstances: " + _liveInstancePropertyCache.getPropertyMap().keySet()
+ ". Takes " + (System.currentTimeMillis() - start) + " ms");
diff --git a/helix-core/src/main/java/org/apache/helix/spectator/RoutingDataCache.java b/helix-core/src/main/java/org/apache/helix/spectator/RoutingDataCache.java
index 49a4057..fad3c92 100644
--- a/helix-core/src/main/java/org/apache/helix/spectator/RoutingDataCache.java
+++ b/helix-core/src/main/java/org/apache/helix/spectator/RoutingDataCache.java
@@ -79,6 +79,7 @@ class RoutingDataCache extends BasicClusterDataCache {
if (_sourceDataType.equals(PropertyType.CURRENTSTATES) && _propertyDataChangedMap
.get(HelixConstants.ChangeType.CURRENT_STATE)) {
long start = System.currentTimeMillis();
+ _propertyDataChangedMap.put(HelixConstants.ChangeType.CURRENT_STATE, false);
Map<String, LiveInstance> liveInstanceMap = getLiveInstances();
_currentStateCache.refresh(accessor, liveInstanceMap);
LOG.info("Reload CurrentStates. Takes " + (System.currentTimeMillis() - start) + " ms");