HBASE-1745 [tools] Tool to kick region out of inTransistion
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@800952 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
b3653a6295
commit
7b355d83c5
@ -315,6 +315,7 @@ Release 0.20.0 - Unreleased
|
|||||||
HBASE-1737 Regions unbalanced when adding new node
|
HBASE-1737 Regions unbalanced when adding new node
|
||||||
HBASE-1739 hbase-1683 broke splitting; only split three logs no matter
|
HBASE-1739 hbase-1683 broke splitting; only split three logs no matter
|
||||||
what N was
|
what N was
|
||||||
|
HBASE-1745 [tools] Tool to kick region out of inTransistion
|
||||||
|
|
||||||
IMPROVEMENTS
|
IMPROVEMENTS
|
||||||
HBASE-1089 Add count of regions on filesystem to master UI; add percentage
|
HBASE-1089 Add count of regions on filesystem to master UI; add percentage
|
||||||
|
@ -1025,6 +1025,11 @@ public class HMaster extends Thread implements HConstants, HMasterInterface,
|
|||||||
servername =
|
servername =
|
||||||
Bytes.toString(rr.getValue(CATALOG_FAMILY, SERVER_QUALIFIER));
|
Bytes.toString(rr.getValue(CATALOG_FAMILY, SERVER_QUALIFIER));
|
||||||
}
|
}
|
||||||
|
// Take region out of the intransistions in case it got stuck there doing
|
||||||
|
// an open or whatever.
|
||||||
|
this.regionManager.clearFromInTransition(regionname);
|
||||||
|
// If servername is still null, then none, exit.
|
||||||
|
if (servername == null) break;
|
||||||
// Need to make up a HServerInfo 'servername' for that is how
|
// Need to make up a HServerInfo 'servername' for that is how
|
||||||
// items are keyed in regionmanager Maps.
|
// items are keyed in regionmanager Maps.
|
||||||
HServerAddress addr = new HServerAddress(servername);
|
HServerAddress addr = new HServerAddress(servername);
|
||||||
|
@ -1436,6 +1436,26 @@ class RegionManager implements HConstants {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param regionname Name to clear from regions in transistion.
|
||||||
|
* @return True if we removed an element for the passed regionname.
|
||||||
|
*/
|
||||||
|
boolean clearFromInTransition(final byte [] regionname) {
|
||||||
|
boolean result = false;
|
||||||
|
synchronized (this.regionsInTransition) {
|
||||||
|
if (this.regionsInTransition.isEmpty()) return result;
|
||||||
|
for (Map.Entry<String, RegionState> e: this.regionsInTransition.entrySet()) {
|
||||||
|
if (Bytes.equals(regionname, e.getValue().getRegionName())) {
|
||||||
|
this.regionsInTransition.remove(e.getKey());
|
||||||
|
LOG.debug("Removed " + e.getKey() + ", " + e.getValue());
|
||||||
|
result = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* State of a Region as it transitions from closed to open, etc. See
|
* State of a Region as it transitions from closed to open, etc. See
|
||||||
* note on regionsInTransition data member above for listing of state
|
* note on regionsInTransition data member above for listing of state
|
||||||
|
Loading…
x
Reference in New Issue
Block a user