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 03:00:27 UTC

[hbase] branch branch-2.2 updated (dbcf286 -> 3906993)

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

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


    from dbcf286  HBASE-22467 UI fixes to enable Knox proxying
     new 3454749  HBASE-22485 Fix failed ut TestClusterRestartFailover
     new 3906993  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] 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.2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 34547498dce11e8addde2d9b927d16947524f56e
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


[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.2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 3906993fee42bfbcc5d6f1e0e08ea604170f7d33
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();
   }