Repository: helix
Updated Branches:
  refs/heads/master 030706c96 -> d02083e65


Should not start periodical refresh in RoutingTableProvider if helixmanager is 
not set.


Project: http://git-wip-us.apache.org/repos/asf/helix/repo
Commit: http://git-wip-us.apache.org/repos/asf/helix/commit/b81ef061
Tree: http://git-wip-us.apache.org/repos/asf/helix/tree/b81ef061
Diff: http://git-wip-us.apache.org/repos/asf/helix/diff/b81ef061

Branch: refs/heads/master
Commit: b81ef06103f2349c32b36abcef8de62cbcba3d5d
Parents: 030706c
Author: Lei Xia <[email protected]>
Authored: Tue May 29 14:25:32 2018 -0700
Committer: Lei Xia <[email protected]>
Committed: Wed Jul 11 15:22:47 2018 -0700

----------------------------------------------------------------------
 .../org/apache/helix/spectator/RoutingTableProvider.java     | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/helix/blob/b81ef061/helix-core/src/main/java/org/apache/helix/spectator/RoutingTableProvider.java
----------------------------------------------------------------------
diff --git 
a/helix-core/src/main/java/org/apache/helix/spectator/RoutingTableProvider.java 
b/helix-core/src/main/java/org/apache/helix/spectator/RoutingTableProvider.java
index f72d66a..acdca87 100644
--- 
a/helix-core/src/main/java/org/apache/helix/spectator/RoutingTableProvider.java
+++ 
b/helix-core/src/main/java/org/apache/helix/spectator/RoutingTableProvider.java
@@ -156,7 +156,7 @@ public class RoutingTableProvider
     }
 
     // For periodic refresh
-    if (isPeriodicRefreshEnabled) {
+    if (isPeriodicRefreshEnabled && _helixManager != null) {
       _lastRefreshTimestamp = System.currentTimeMillis(); // Initialize 
timestamp with current time
       _periodRefreshInterval = periodRefreshInterval;
       // Construct a periodic refresh context
@@ -560,7 +560,7 @@ public class RoutingTableProvider
     private final RoutingDataCache _dataCache;
 
     public RouterUpdater(String clusterName, PropertyType sourceDataType) {
-      super("Helix-RouterUpdater-event_process");
+      super(clusterName, "Helix-RouterUpdater-event_process");
       _dataCache = new RoutingDataCache(clusterName, sourceDataType);
     }
 
@@ -577,6 +577,10 @@ public class RoutingTableProvider
           logger.error(String.format("HelixManager is null for router update 
event: %s", event));
           throw new HelixException("HelixManager is null for router update 
event.");
         }
+        if (!manager.isConnected()) {
+          logger.error(String.format("HelixManager is not connected for router 
update event: %s", event));
+          throw new HelixException("HelixManager is not connected for router 
update event.");
+        }
         _dataCache.refresh(manager.getHelixDataAccessor());
         switch (_sourceDataType) {
           case EXTERNALVIEW:

Reply via email to