You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zg...@apache.org on 2019/05/29 02:59:47 UTC

[hbase] branch branch-2 updated (4f05b22 -> b035464)

This is an automated email from the ASF dual-hosted git repository.

zghao pushed a change to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git.


    from 4f05b22  HBASE-22467 UI fixes to enable Knox proxying
     new 8829b6f  HBASE-22485 Fix failed ut TestClusterRestartFailover
     new b035464  HBASE-22486 Fix flaky test TestLockManager

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/hadoop/hbase/master/locking/LockProcedure.java     | 6 +++++-
 .../apache/hadoop/hbase/master/TestClusterRestartFailover.java    | 8 ++++----
 .../hbase/master/TestClusterRestartFailoverSplitWithoutZk.java    | 4 ++--
 3 files changed, 11 insertions(+), 7 deletions(-)


[hbase] 02/02: HBASE-22486 Fix flaky test TestLockManager

Posted by zg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zghao pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit b0354644f85e1b092acc61ad784c4f686107d1eb
Author: Guanghao <zg...@apache.org>
AuthorDate: Wed May 29 10:58:10 2019 +0800

    HBASE-22486 Fix flaky test TestLockManager
---
 .../java/org/apache/hadoop/hbase/master/locking/LockProcedure.java  | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/locking/LockProcedure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/locking/LockProcedure.java
index 3a87bbc..dc1e5bc 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/locking/LockProcedure.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/locking/LockProcedure.java
@@ -90,6 +90,8 @@ public final class LockProcedure extends Procedure<MasterProcedureEnv>
   // DEFAULT_LOCAL_MASTER_LOCKS_TIMEOUT_MS (10 min) so that there is no need to heartbeat.
   private final CountDownLatch lockAcquireLatch;
 
+  private volatile boolean suspended = false;
+
   @Override
   public TableName getTableName() {
     return tableName;
@@ -219,9 +221,10 @@ public final class LockProcedure extends Procedure<MasterProcedureEnv>
     locked.set(false);
     // Maybe timeout already awakened the event and the procedure has finished.
     synchronized (event) {
-      if (!event.isReady()) {
+      if (!event.isReady() && suspended) {
         setState(ProcedureProtos.ProcedureState.RUNNABLE);
         event.wake(env.getProcedureScheduler());
+        suspended = false;
       }
     }
   }
@@ -244,6 +247,7 @@ public final class LockProcedure extends Procedure<MasterProcedureEnv>
       event.suspend();
       event.suspendIfNotReady(this);
       setState(ProcedureProtos.ProcedureState.WAITING_TIMEOUT);
+      suspended = true;
     }
     throw new ProcedureSuspendedException();
   }


[hbase] 01/02: HBASE-22485 Fix failed ut TestClusterRestartFailover

Posted by zg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zghao pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 8829b6f28f344b6bc7ef3fd2a54d6c43fb9af05b
Author: Guanghao <zg...@apache.org>
AuthorDate: Wed May 29 10:39:57 2019 +0800

    HBASE-22485 Fix failed ut TestClusterRestartFailover
---
 .../apache/hadoop/hbase/master/TestClusterRestartFailover.java    | 8 ++++----
 .../hbase/master/TestClusterRestartFailoverSplitWithoutZk.java    | 4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailover.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailover.java
index ad4613e..a3d8061 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailover.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailover.java
@@ -27,8 +27,8 @@ import org.apache.hadoop.hbase.master.assignment.ServerState;
 import org.apache.hadoop.hbase.master.assignment.ServerStateNode;
 import org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure;
 import org.apache.hadoop.hbase.procedure2.Procedure;
+import org.apache.hadoop.hbase.testclassification.LargeTests;
 import org.apache.hadoop.hbase.testclassification.MasterTests;
-import org.apache.hadoop.hbase.testclassification.MediumTests;
 import org.junit.Assert;
 import org.junit.ClassRule;
 import org.junit.Test;
@@ -36,7 +36,7 @@ import org.junit.experimental.categories.Category;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@Category({ MasterTests.class, MediumTests.class })
+@Category({ MasterTests.class, LargeTests.class })
 public class TestClusterRestartFailover extends AbstractTestRestartCluster {
 
   @ClassRule
@@ -64,7 +64,7 @@ public class TestClusterRestartFailover extends AbstractTestRestartCluster {
       .noneMatch(p -> p instanceof ServerCrashProcedure));
     TableName tableName = TABLES[0];
     ServerName testServer = UTIL.getHBaseCluster().getRegionServer(0).getServerName();
-    UTIL.waitFor(10000, () -> getServerStateNode(testServer) != null);
+    UTIL.waitFor(30000, () -> getServerStateNode(testServer) != null);
     ServerStateNode serverNode = getServerStateNode(testServer);
     Assert.assertNotNull(serverNode);
     Assert.assertTrue("serverNode should be ONLINE when cluster runs normally",
@@ -83,7 +83,7 @@ public class TestClusterRestartFailover extends AbstractTestRestartCluster {
     UTIL.getHBaseCluster().waitUntilShutDown();
     LOG.info("Starting cluster the second time");
     UTIL.restartHBaseCluster(3, ports);
-    UTIL.waitFor(10000, () -> UTIL.getHBaseCluster().getMaster().isInitialized());
+    UTIL.waitFor(30000, () -> UTIL.getHBaseCluster().getMaster().isInitialized());
     serverNode = UTIL.getHBaseCluster().getMaster().getAssignmentManager().getRegionStates()
       .getServerNode(testServer);
     Assert.assertNotNull("serverNode should not be null when restart whole cluster", serverNode);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailoverSplitWithoutZk.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailoverSplitWithoutZk.java
index 60bd10f..63d0f2b 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailoverSplitWithoutZk.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailoverSplitWithoutZk.java
@@ -18,12 +18,12 @@
 package org.apache.hadoop.hbase.master;
 
 import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.testclassification.LargeTests;
 import org.apache.hadoop.hbase.testclassification.MasterTests;
-import org.apache.hadoop.hbase.testclassification.MediumTests;
 import org.junit.ClassRule;
 import org.junit.experimental.categories.Category;
 
-@Category({ MasterTests.class, MediumTests.class })
+@Category({ MasterTests.class, LargeTests.class })
 public class TestClusterRestartFailoverSplitWithoutZk extends TestClusterRestartFailover {
 
   @ClassRule