private List<RegionInfo> getSystemTables(ServerName serverName) { ServerStateNode serverNode = regionStates.getServerNode(serverName); if (serverNode == null) { return Collections.emptyList(); } return serverNode.getSystemRegionInfoList(); }
/** * Returns the regions hosted by the specified server. * <p/> * Notice that, for SCP, after we submit the SCP, no one can change the region list for the * ServerStateNode so we do not need any locks here. And for other usage, this can only give you a * snapshot of the current region list for this server, which means, right after you get the * region list, new regions may be moved to this server or some regions may be moved out from this * server, so you should not use it critically if you need strong consistency. */ public List<RegionInfo> getRegionsOnServer(ServerName serverName) { ServerStateNode serverInfo = regionStates.getServerNode(serverName); if (serverInfo == null) { return Collections.emptyList(); } return serverInfo.getRegionInfoList(); }
public long submitServerCrash(ServerName serverName, boolean shouldSplitWal) { boolean carryingMeta; long pid; ServerStateNode serverNode = regionStates.getServerNode(serverName); if(serverNode == null){ LOG.info("Skip to add SCP for {} since this server should be OFFLINE already", serverName);
ServerName testServer = UTIL.getHBaseCluster().getRegionServer(0).getServerName(); ServerStateNode serverNode = UTIL.getHBaseCluster().getMaster().getAssignmentManager() .getRegionStates().getServerNode(testServer); Assert.assertNotNull(serverNode); Assert.assertTrue("serverNode should be ONLINE when cluster runs normally", UTIL.waitFor(10000, () -> UTIL.getHBaseCluster().getMaster().isInitialized()); serverNode = UTIL.getHBaseCluster().getMaster().getAssignmentManager().getRegionStates() .getServerNode(testServer); Assert.assertNotNull("serverNode should not be null when restart whole cluster", serverNode); Assert.assertFalse(serverNode.isInState(ServerState.ONLINE)); UTIL.getHBaseCluster().getMaster().getServerManager().expireServer(testServer)); serverNode = UTIL.getHBaseCluster().getMaster().getAssignmentManager().getRegionStates() .getServerNode(testServer); Assert.assertNull("serverNode should be deleted after SCP finished", serverNode);