HBASE-3617 NoRouteToHostException during balancing will cause Master abort

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1084375 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Michael Stack 2011-03-22 22:16:55 +00:00
parent cf74e10e31
commit ce86d7ca82
2 changed files with 8 additions and 29 deletions

View File

@ -159,6 +159,8 @@ Release 0.90.2 - Unreleased
holding lock on RIT; a big no-no (Ted Yu via Stack)
HBASE-3575 Update rename table script
HBASE-3687 Bulk assign on startup should handle a ServerNotRunningException
HBASE-3617 NoRouteToHostException during balancing will cause Master abort
(Ted Yu via Stack)
IMPROVEMENTS
HBASE-3542 MultiGet methods in Thrift

View File

@ -1276,36 +1276,13 @@ public class AssignmentManager extends ZooKeeperListener {
// Presume that the split message when it comes in will fix up the master's
// in memory cluster state.
return;
} catch (ConnectException e) {
LOG.info("Failed connect to " + server + ", message=" + e.getMessage() +
", region=" + region.getEncodedName());
// Presume that regionserver just failed and we haven't got expired
// server from zk yet. Let expired server deal with clean up.
} catch (java.net.SocketTimeoutException e) {
LOG.info("Server " + server + " returned " + e.getMessage() + " for " +
region.getEncodedName());
// Presume retry or server will expire.
} catch (EOFException e) {
LOG.info("Server " + server + " returned " + e.getMessage() + " for " +
region.getEncodedName());
// Presume retry or server will expire.
} catch (RemoteException re) {
IOException ioe = re.unwrapRemoteException();
if (ioe instanceof NotServingRegionException) {
// Failed to close, so pass through and reassign
LOG.debug("Server " + server + " returned " + ioe + " for " +
region.getEncodedName());
} else if (ioe instanceof EOFException) {
// Failed to close, so pass through and reassign
LOG.debug("Server " + server + " returned " + ioe + " for " +
region.getEncodedName());
} else {
this.master.abort("Remote unexpected exception", ioe);
}
} catch (Throwable t) {
// For now call abort if unexpected exception -- radical, but will get
// fellas attention. St.Ack 20101012
this.master.abort("Remote unexpected exception", t);
if (t instanceof RemoteException) {
t = ((RemoteException)t).unwrapRemoteException();
}
LOG.info("Server " + server + " returned " + t + " for " +
region.getEncodedName());
// Presume retry or server will expire.
}
}