/** * A region is offline, won't be in transition any more. */ public void regionOffline(final HRegionInfo hri) { regionOffline(hri, null); }
private void forceRegionsOffline(final List<HRegionInfo> hris) { AssignmentManager am = this.masterServices.getAssignmentManager(); RegionStates states = am.getRegionStates(); if (hris != null) { for (HRegionInfo hri: hris) { states.regionOffline(hri); } } }
regionStates.regionOffline(regionInfo, state); removeClosedRegion(regionInfo);
/** * This method does an RPC to hbase:meta. Do not call this method with a lock/synchronize held. * @param hris The hris to check if empty in hbase:meta and if so, clean them up. */ private void cleanIfNoMetaEntry(Set<HRegionInfo> hris) { if (hris.isEmpty()) return; for (HRegionInfo hri: hris) { try { // This is RPC to meta table. It is done while we have a synchronize on // regionstates. No progress will be made if meta is not available at this time. // This is a cleanup task. Not critical. if (MetaTableAccessor.getRegion(server.getConnection(), hri.getEncodedNameAsBytes()) == null) { regionOffline(hri); FSUtils.deleteRegionDir(server.getConfiguration(), hri); } } catch (IOException e) { LOG.warn("Got exception while deleting " + hri + " directories from file system.", e); } } }
regionStates.regionOffline(hri); it.remove(); continue;
regionStates.regionOffline(regionInfo); balancer.regionOnline(regionInfo, regionLocation); } else if (useZKForAssignment) { regionStates.regionOffline(regionInfo);
regionStates.regionOffline(regionInfo); sendRegionClosedNotification(regionInfo);