@Override protected void chore() { try { AssignmentManager am = this.services.getAssignmentManager(); if (this.enabled.get() && !this.services.isInMaintenanceMode() && !this.services.getServerManager().isClusterShutdown() && am != null && am.isMetaLoaded() && !am.hasRegionsInTransition()) { scan(); } else { LOG.warn("CatalogJanitor is disabled! Enabled=" + this.enabled.get() + ", maintenanceMode=" + this.services.isInMaintenanceMode() + ", am=" + am + ", metaLoaded=" + (am != null && am.isMetaLoaded()) + ", hasRIT=" + (am != null && am.hasRegionsInTransition()) + " clusterShutDown=" + this.services .getServerManager().isClusterShutdown()); } } catch (IOException e) { LOG.warn("Failed scan of catalog table", e); } }
if (this.assignmentManager.hasRegionsInTransition()) { List<RegionStateNode> regionsInTransition = assignmentManager.getRegionsInTransition();
@Override public boolean evaluate() throws IOException { HMaster master = getMiniHBaseCluster().getMaster(); if (master == null) return false; AssignmentManager am = master.getAssignmentManager(); if (am == null) return false; return !am.hasRegionsInTransition(); } };
@Before public void before() throws Exception { final int balanceCount = MyMasterObserver.postBalanceCount.get(); LOG.info("before"); if (UTIL.ensureSomeRegionServersAvailable(slaves)) { // Distribute regions UTIL.getMiniHBaseCluster().getMaster().balance(); // Some plans are created. if (MyMasterObserver.postBalanceCount.get() > balanceCount) { // It is necessary to wait the move procedure to start. // Otherwise, the next wait may pass immediately. UTIL.waitFor(3 * 1000, 100, false, () -> UTIL.getMiniHBaseCluster().getMaster().getAssignmentManager().hasRegionsInTransition() ); } // Wait until completing balance UTIL.waitUntilAllRegionsAssigned(TEST_TABLE); } LOG.info("before done"); }
Assert.assertNull(destServer.getOnlineRegion(regionName)); Assert.assertFalse(TEST_UTIL.getMiniHBaseCluster().getMaster(). getAssignmentManager().hasRegionsInTransition()); destServer.getRegionsInTransitionInRS().containsKey(encodedRegionNameBytes) || curServer.getRegionsInTransitionInRS().containsKey(encodedRegionNameBytes) || master.getAssignmentManager().hasRegionsInTransition()) {
Assert.assertNull(destServer.getOnlineRegion(regionName)); Assert.assertFalse(TEST_UTIL.getMiniHBaseCluster().getMaster(). getAssignmentManager().hasRegionsInTransition()); destServer.getRegionsInTransitionInRS().containsKey(encodedRegionNameBytes) || curServer.getRegionsInTransitionInRS().containsKey(encodedRegionNameBytes) || master.getAssignmentManager().hasRegionsInTransition()) { destServer.getRegionsInTransitionInRS().containsKey(encodedRegionNameBytes) || curServer.getRegionsInTransitionInRS().containsKey(encodedRegionNameBytes) || master.getAssignmentManager().hasRegionsInTransition()) {
@Override public boolean evaluate() throws IOException { HMaster master = getMiniHBaseCluster().getMaster(); if (master == null) return false; AssignmentManager am = master.getAssignmentManager(); if (am == null) return false; return !am.hasRegionsInTransition(); } };
@Before public void before() throws Exception { final int balanceCount = MyMasterObserver.postBalanceCount.get(); LOG.info("before"); if (UTIL.ensureSomeRegionServersAvailable(slaves)) { // Distribute regions UTIL.getMiniHBaseCluster().getMaster().balance(); // Some plans are created. if (MyMasterObserver.postBalanceCount.get() > balanceCount) { // It is necessary to wait the move procedure to start. // Otherwise, the next wait may pass immediately. UTIL.waitFor(3 * 1000, 100, false, () -> UTIL.getMiniHBaseCluster().getMaster().getAssignmentManager().hasRegionsInTransition() ); } // Wait until completing balance UTIL.waitUntilAllRegionsAssigned(TEST_TABLE); } LOG.info("before done"); }
Assert.assertNull(destServer.getOnlineRegion(regionName)); Assert.assertFalse(TEST_UTIL.getMiniHBaseCluster().getMaster(). getAssignmentManager().hasRegionsInTransition()); destServer.getRegionsInTransitionInRS().containsKey(encodedRegionNameBytes) || curServer.getRegionsInTransitionInRS().containsKey(encodedRegionNameBytes) || master.getAssignmentManager().hasRegionsInTransition()) {
Assert.assertNull(destServer.getOnlineRegion(regionName)); Assert.assertFalse(TEST_UTIL.getMiniHBaseCluster().getMaster(). getAssignmentManager().hasRegionsInTransition()); destServer.getRegionsInTransitionInRS().containsKey(encodedRegionNameBytes) || curServer.getRegionsInTransitionInRS().containsKey(encodedRegionNameBytes) || master.getAssignmentManager().hasRegionsInTransition()) { destServer.getRegionsInTransitionInRS().containsKey(encodedRegionNameBytes) || curServer.getRegionsInTransitionInRS().containsKey(encodedRegionNameBytes) || master.getAssignmentManager().hasRegionsInTransition()) {