HBASE-3420 Handling a big rebalance, we can queue multiple instances of a Close event; messes up state

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1055639 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Michael Stack 2011-01-05 21:07:20 +00:00
parent f397fa6309
commit 7c878981b5
2 changed files with 9 additions and 5 deletions

View File

@ -816,6 +816,8 @@ Release 0.90.0 - Unreleased
HBASE-3402 Web UI shows two META regions HBASE-3402 Web UI shows two META regions
HBASE-3409 Failed server shutdown processing when retrying hlog split HBASE-3409 Failed server shutdown processing when retrying hlog split
HBASE-3412 HLogSplitter should handle missing HLogs HBASE-3412 HLogSplitter should handle missing HLogs
HBASE-3420 Handling a big rebalance, we can queue multiple instances of
a Close event; messes up state
IMPROVEMENTS IMPROVEMENTS

View File

@ -1567,11 +1567,13 @@ public class AssignmentManager extends ZooKeeperListener {
// Expired! Do a retry. // Expired! Do a retry.
switch (regionState.getState()) { switch (regionState.getState()) {
case CLOSED: case CLOSED:
LOG.info("Region has been CLOSED for too long, " + LOG.info("Region " + regionInfo.getEncodedName() +
"retriggering ClosedRegionHandler"); " has been CLOSED for too long, waiting on queued " +
AssignmentManager.this.executorService.submit( "ClosedRegionHandler to run or server shutdown");
new ClosedRegionHandler(master, AssignmentManager.this, // Update our timestamp.
regionState.getRegion())); synchronized(regionState) {
regionState.update(regionState.getState());
}
break; break;
case OFFLINE: case OFFLINE:
LOG.info("Region has been OFFLINE for too long, " + LOG.info("Region has been OFFLINE for too long, " +