You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by bu...@apache.org on 2017/07/20 05:52:42 UTC
[3/6] hbase git commit: HBASE-18390 Sleep too long when finding
region location failed
HBASE-18390 Sleep too long when finding region location failed
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/98020957
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/98020957
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/98020957
Branch: refs/heads/branch-1-HBASE-18147
Commit: 980209579ba13cc1fecc1e2ce5403b38877600bf
Parents: af359d0
Author: Phil Yang <ya...@apache.org>
Authored: Wed Jul 19 11:34:57 2017 +0800
Committer: Phil Yang <ya...@apache.org>
Committed: Wed Jul 19 12:05:21 2017 +0800
----------------------------------------------------------------------
.../hadoop/hbase/client/ConnectionUtils.java | 14 --------------
.../client/RegionAdminServiceCallable.java | 9 +--------
.../hbase/client/RegionServerCallable.java | 9 +--------
.../hbase/client/TestConnectionUtils.java | 20 --------------------
4 files changed, 2 insertions(+), 50 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/98020957/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java
index 7155659..96e7788 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java
@@ -74,20 +74,6 @@ public class ConnectionUtils {
/**
- * Adds / subs an up to 50% jitter to a pause time. Minimum is 1.
- * @param pause the expected pause.
- * @param jitter the jitter ratio, between 0 and 1, exclusive.
- */
- public static long addJitter(final long pause, final float jitter) {
- float lag = pause * (ThreadLocalRandom.current().nextFloat() - 0.5f) * jitter;
- long newPause = pause + (long) lag;
- if (newPause <= 0) {
- return 1;
- }
- return newPause;
- }
-
- /**
* @param conn The connection for which to replace the generator.
* @param cnm Replaces the nonce generator used, for testing.
* @return old nonce generator.
http://git-wip-us.apache.org/repos/asf/hbase/blob/98020957/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionAdminServiceCallable.java
----------------------------------------------------------------------
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 675a2f9..386925e 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
@@ -50,8 +50,6 @@ public abstract class RegionAdminServiceCallable<T> implements RetryingCallable<
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) {
this(connection, rpcControllerFactory, null, tableName, row);
@@ -138,12 +136,7 @@ public abstract class RegionAdminServiceCallable<T> 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(
http://git-wip-us.apache.org/repos/asf/hbase/blob/98020957/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionServerCallable.java
----------------------------------------------------------------------
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 b446c3f..e0b09f3 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
@@ -51,8 +51,6 @@ public abstract class RegionServerCallable<T> implements RetryingCallable<T> {
protected HRegionLocation location;
private ClientService.BlockingInterface stub;
- protected final static int MIN_WAIT_DEAD_SERVER = 10000;
-
/**
* @param connection Connection to use.
* @param tableName Table name to which <code>row</code> belongs.
@@ -134,12 +132,7 @@ public abstract class RegionServerCallable<T> implements RetryingCallable<T> {
@Override
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);
}
/**
http://git-wip-us.apache.org/repos/asf/hbase/blob/98020957/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestConnectionUtils.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestConnectionUtils.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestConnectionUtils.java
index c148eb0..3d449ae 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestConnectionUtils.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestConnectionUtils.java
@@ -55,26 +55,6 @@ public class TestConnectionUtils {
}
@Test
- public void testAddJitter() {
- long basePause = 10000;
- long maxTimeExpected = (long) (basePause * 1.25f);
- long minTimeExpected = (long) (basePause * 0.75f);
- int testTries = 100;
-
- Set<Long> timeSet = new TreeSet<Long>();
- for (int i = 0; i < testTries; i++) {
- long withJitter = ConnectionUtils.addJitter(basePause, 0.5f);
- assertTrue(withJitter >= minTimeExpected);
- assertTrue(withJitter <= maxTimeExpected);
- // Add the long to the set
- timeSet.add(withJitter);
- }
-
- //Make sure that most are unique. some overlap will happen
- assertTrue(timeSet.size() > (testTries * 0.90));
- }
-
- @Test
public void testGetPauseTime() {
long pauseTime;
long baseTime = 100;