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:
