Index: src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java (revision 1041689) +++ src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java (working copy) @@ -453,6 +453,8 @@ connection = waitForRootServerConnection(timeout); } catch (NotAllMetaRegionsOnlineException e) { // Pass + } catch (org.apache.hadoop.hbase.ipc.ServerNotRunningException e) { + // Pass -- remote server is not up so can't be carrying root } catch (IOException e) { // Unexpected exception throw e; @@ -482,4 +484,4 @@ public HConnection getConnection() { return this.connection; } -} \ No newline at end of file +} Index: src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java (revision 1041689) +++ src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java (working copy) @@ -955,7 +955,8 @@ regionServer.getInetSocketAddress(), this.conf, this.maxRPCAttempts, this.rpcTimeout, this.rpcTimeout); } catch (RemoteException e) { - LOG.warn("Remove exception connecting to RS", e); + LOG.warn("RemoteException connecting to RS", e); + // Throw what the RemoteException was carrying. throw RemoteExceptionHandler.decodeRemoteException(e); } this.servers.put(regionServer.toString(), server);