From 1496841e8e55a678856ac8465d44e4d69d2f8885 Mon Sep 17 00:00:00 2001 From: Phil Yang Date: Mon, 17 Jul 2017 12:03:56 +0800 Subject: [PATCH] HBASE-18390 Sleep too long when finding region location failed --- .../apache/hadoop/hbase/client/RegionAdminServiceCallable.java | 8 +------- .../java/org/apache/hadoop/hbase/client/RegionServerCallable.java | 8 +------- .../src/test/java/org/apache/hadoop/hbase/client/TestHCM.java | 1 + 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionAdminServiceCallable.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionAdminServiceCallable.java index 6846562805..c9a143c4f7 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionAdminServiceCallable.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionAdminServiceCallable.java @@ -51,7 +51,6 @@ public abstract class RegionAdminServiceCallable implements RetryingCallable< protected final TableName tableName; protected final byte[] row; protected final int replicaId; - protected final static int MIN_WAIT_DEAD_SERVER = 10000; public RegionAdminServiceCallable(ClusterConnection connection, RpcControllerFactory rpcControllerFactory, TableName tableName, byte[] row) { @@ -136,12 +135,7 @@ public abstract class RegionAdminServiceCallable implements RetryingCallable< @Override public long sleep(long pause, int tries) { - long sleep = ConnectionUtils.getPauseTime(pause, tries); - if (sleep < MIN_WAIT_DEAD_SERVER - && (location == null || connection.isDeadServer(location.getServerName()))) { - sleep = ConnectionUtils.addJitter(MIN_WAIT_DEAD_SERVER, 0.10f); - } - return sleep; + return ConnectionUtils.getPauseTime(pause, tries); } public static RegionLocations getRegionLocations( diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionServerCallable.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionServerCallable.java index a8e17c6d94..fb593a3def 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionServerCallable.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionServerCallable.java @@ -58,7 +58,6 @@ public abstract class RegionServerCallable implements RetryingCallable * Some subclasses want to set their own location. Make it protected. */ protected HRegionLocation location; - protected final static int MIN_WAIT_DEAD_SERVER = 10000; protected S stub; /** @@ -185,12 +184,7 @@ public abstract class RegionServerCallable implements RetryingCallable } public long sleep(long pause, int tries) { - long sleep = ConnectionUtils.getPauseTime(pause, tries); - if (sleep < MIN_WAIT_DEAD_SERVER - && (location == null || getConnection().isDeadServer(location.getServerName()))) { - sleep = ConnectionUtils.addJitter(MIN_WAIT_DEAD_SERVER, 0.10f); - } - return sleep; + return ConnectionUtils.getPauseTime(pause, tries); } /** diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java index e99ee07374..a008d7dbd2 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java @@ -176,6 +176,7 @@ public class TestHCM { } + public static class SleepCoprocessor implements RegionObserver { public static final int SLEEP_TIME = 5000; @Override -- 2.11.0 (Apple Git-81)