diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java index 697ba8c..53799f7 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java @@ -774,6 +774,8 @@ public class ServerManager { if (server == null) throw new NullPointerException("Passed server is null"); int maximumAttempts = Math.max(1, master.getConfiguration().getInt( "hbase.master.maximum.ping.server.attempts", 10)); + int pingSleepInterval = Math.max(1, master.getConfiguration().getInt( + "hbase.master.ping.server.retry.sleep.interval", 100)); for (int i = 0; i < maximumAttempts; i++) { try { AdminService.BlockingInterface admin = getRsAdmin(server); @@ -785,6 +787,11 @@ public class ServerManager { } catch (IOException ioe) { LOG.debug("Couldn't reach " + server + ", try=" + i + " of " + maximumAttempts, ioe); + try { + Thread.sleep(pingSleepInterval); + } catch (InterruptedException ie) { + Thread.currentThread().interrupt(); + } } } return false;