You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2018/05/02 13:39:57 UTC

hbase git commit: HBASE-20414 TestLockProcedure#testMultipleLocks may fail on slow machine

Repository: hbase
Updated Branches:
  refs/heads/master 5bdb52af2 -> 2e9b96e4f


HBASE-20414 TestLockProcedure#testMultipleLocks may fail on slow machine


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/2e9b96e4
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/2e9b96e4
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/2e9b96e4

Branch: refs/heads/master
Commit: 2e9b96e4f14c2802b59c6037cbfe4a427ec93bea
Parents: 5bdb52a
Author: tedyu <yu...@gmail.com>
Authored: Wed May 2 06:39:51 2018 -0700
Committer: tedyu <yu...@gmail.com>
Committed: Wed May 2 06:39:51 2018 -0700

----------------------------------------------------------------------
 .../apache/hadoop/hbase/master/locking/TestLockProcedure.java   | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/2e9b96e4/hbase-server/src/test/java/org/apache/hadoop/hbase/master/locking/TestLockProcedure.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/locking/TestLockProcedure.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/locking/TestLockProcedure.java
index c985fa7..8fa7747 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/locking/TestLockProcedure.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/locking/TestLockProcedure.java
@@ -300,6 +300,7 @@ public class TestLockProcedure {
     // Acquire namespace lock, then queue other locks.
     long nsProcId = queueLock(nsLock);
     assertTrue(awaitForLocked(nsProcId, 2000));
+    long start = System.currentTimeMillis();
     sendHeartbeatAndCheckLocked(nsProcId, true);
     long table1ProcId = queueLock(tableLock1);
     long table2ProcId = queueLock(tableLock2);
@@ -307,7 +308,9 @@ public class TestLockProcedure {
     long regions2ProcId = queueLock(regionsLock2);
 
     // Assert tables & region locks are waiting because of namespace lock.
-    Thread.sleep(HEARTBEAT_TIMEOUT / 2);
+    long now = System.currentTimeMillis();
+    // leave extra 10 msec in case more than half the HEARTBEAT_TIMEOUT has passed
+    Thread.sleep(Math.min(HEARTBEAT_TIMEOUT / 2, Math.max(HEARTBEAT_TIMEOUT-(now-start)-10, 0)));
     sendHeartbeatAndCheckLocked(nsProcId, true);
     sendHeartbeatAndCheckLocked(table1ProcId, false);
     sendHeartbeatAndCheckLocked(table2ProcId, false);