Index: src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java (revision 1084375) +++ src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java (working copy) @@ -23,6 +23,7 @@ import java.io.IOException; import java.net.ConnectException; import java.net.SocketTimeoutException; +import java.net.SocketException; import java.util.concurrent.atomic.AtomicBoolean; import org.apache.commons.logging.Log; @@ -390,8 +391,11 @@ throw e; } } catch (SocketTimeoutException e) { - // We were passed the wrong address. Return 'protocol' == null. + // Return 'protocol' == null. LOG.debug("Timed out connecting to " + address); + } catch (SocketException e) { + // Return 'protocol' == null. + LOG.debug("Exception connecting to " + address); } catch (IOException ioe) { Throwable cause = ioe.getCause(); if (cause != null && cause instanceof EOFException) { Index: src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java (revision 1084375) +++ src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java (working copy) @@ -308,14 +308,9 @@ } catch (java.net.SocketTimeoutException e) { // Treat this exception + message as unavailable catalog table. Catch it // and fall through to return a null - } catch (java.net.ConnectException e) { - if (e.getMessage() != null && - e.getMessage().contains("Connection refused")) { - // Treat this exception + message as unavailable catalog table. Catch it - // and fall through to return a null - } else { - throw e; - } + } catch (java.net.SocketException e) { + // Treat this exception + message as unavailable catalog table. Catch it + // and fall through to return a null } catch (RemoteException re) { IOException ioe = re.unwrapRemoteException(); if (ioe instanceof NotServingRegionException) {