diff --git hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java index 5c8bd34..f1a13a1 100644 --- hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java +++ hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java @@ -50,7 +50,6 @@ import org.apache.hadoop.hbase.ZooKeeperConnectionException; import org.apache.hadoop.hbase.classification.InterfaceAudience; import org.apache.hadoop.hbase.client.ClusterConnection; import org.apache.hadoop.hbase.client.ConnectionFactory; -import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException; import org.apache.hadoop.hbase.client.RetriesExhaustedException; import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer; import org.apache.hadoop.hbase.master.handler.MetaServerShutdownHandler; @@ -69,7 +68,6 @@ import org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSeque import org.apache.hadoop.hbase.protobuf.generated.ZooKeeperProtos.SplitLogTask.RecoveryMode; import org.apache.hadoop.hbase.regionserver.HRegionServer; import org.apache.hadoop.hbase.regionserver.RegionOpeningState; -import org.apache.hadoop.hbase.regionserver.RegionServerStoppedException; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.Triple; import org.apache.hadoop.hbase.util.RetryCounter; @@ -903,13 +901,14 @@ public class ServerManager { public boolean isServerReachable(ServerName server) { if (server == null) throw new NullPointerException("Passed server is null"); + synchronized (this.onlineServers) { + if (this.deadservers.isDeadServer(server)) { + return false; + } + } + RetryCounter retryCounter = pingRetryCounterFactory.create(); while (retryCounter.shouldRetry()) { - synchronized (this.onlineServers) { - if (this.deadservers.isDeadServer(server)) { - return false; - } - } try { AdminService.BlockingInterface admin = getRsAdmin(server); if (admin != null) { @@ -917,11 +916,6 @@ public class ServerManager { return info != null && info.hasServerName() && server.getStartcode() == info.getServerName().getStartCode(); } - } catch (RegionServerStoppedException | ServerNotRunningYetException e) { - if (LOG.isDebugEnabled()) { - LOG.debug("Couldn't reach " + server, e); - } - break; } catch (IOException ioe) { if (LOG.isDebugEnabled()) { LOG.debug("Couldn't reach " + server + ", try=" + retryCounter.getAttemptTimes() + " of "