HBASE-4340 Hbase can't balance if ServerShutdownHandler encountered

exception (Jinchao Gao)


git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1167452 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Zhihong Yu 2011-09-10 04:34:54 +00:00
parent 1145bc1471
commit 75bce302e2
2 changed files with 75 additions and 69 deletions

View File

@ -258,7 +258,8 @@ Release 0.91.0 - Unreleased
HBASE-4301 META migration from 0.90 to trunk fails (Subbu Iyer) HBASE-4301 META migration from 0.90 to trunk fails (Subbu Iyer)
HBASE-4331 Bypassing default actions in prePut fails sometimes with HBASE-4331 Bypassing default actions in prePut fails sometimes with
HTable client (Lars Hofhansl via garyh) HTable client (Lars Hofhansl via garyh)
HBASE-4340 Hbase can't balance if ServerShutdownHandler encountered
exception (Jinchao Gao)
IMPROVEMENTS IMPROVEMENTS
HBASE-3290 Max Compaction Size (Nicolas Spiegelberg via Stack) HBASE-3290 Max Compaction Size (Nicolas Spiegelberg via Stack)

View File

@ -166,6 +166,7 @@ public class ServerShutdownHandler extends EventHandler {
final ServerName serverName = this.serverName; final ServerName serverName = this.serverName;
LOG.info("Splitting logs for " + serverName); LOG.info("Splitting logs for " + serverName);
try {
this.services.getMasterFileSystem().splitLog(serverName); this.services.getMasterFileSystem().splitLog(serverName);
// Clean out anything in regions in transition. Being conservative and // Clean out anything in regions in transition. Being conservative and
@ -173,11 +174,13 @@ public class ServerShutdownHandler extends EventHandler {
// OFFLINE? -- and then others after like CLOSING that depend on log // OFFLINE? -- and then others after like CLOSING that depend on log
// splitting. // splitting.
List<RegionState> regionsInTransition = List<RegionState> regionsInTransition =
this.services.getAssignmentManager().processServerShutdown(this.serverName); this.services.getAssignmentManager()
.processServerShutdown(this.serverName);
// Assign root and meta if we were carrying them. // Assign root and meta if we were carrying them.
if (isCarryingRoot()) { // -ROOT- if (isCarryingRoot()) { // -ROOT-
LOG.info("Server " + serverName + " was carrying ROOT. Trying to assign."); LOG.info("Server " + serverName +
" was carrying ROOT. Trying to assign.");
verifyAndAssignRootWithRetries(); verifyAndAssignRootWithRetries();
} }
@ -242,7 +245,9 @@ public class ServerShutdownHandler extends EventHandler {
} }
} }
} }
} finally {
this.deadServers.finish(serverName); this.deadServers.finish(serverName);
}
LOG.info("Finished processing of shutdown of " + serverName); LOG.info("Finished processing of shutdown of " + serverName);
} }