You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2017/11/14 02:21:37 UTC

[2/9] hbase git commit: HBASE-19250 TestClientClusterStatus is flaky

HBASE-19250 TestClientClusterStatus is flaky


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

Branch: refs/heads/branch-1.4
Commit: d2a8436eb0bad9b19138c613090157094a1f6af3
Parents: fc00fcc
Author: Andrew Purtell <ap...@apache.org>
Authored: Mon Nov 13 16:50:24 2017 -0800
Committer: Andrew Purtell <ap...@apache.org>
Committed: Mon Nov 13 16:52:44 2017 -0800

----------------------------------------------------------------------
 .../hadoop/hbase/client/TestClientClusterStatus.java  | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/d2a8436e/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientClusterStatus.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientClusterStatus.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientClusterStatus.java
index 197b0d9..474e6a7 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientClusterStatus.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientClusterStatus.java
@@ -26,6 +26,8 @@ import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.MiniHBaseCluster;
 import org.apache.hadoop.hbase.ServerName;
+import org.apache.hadoop.hbase.Waiter;
+import org.apache.hadoop.hbase.Waiter.Predicate;
 import org.apache.hadoop.hbase.coprocessor.BaseMasterObserver;
 import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;
 import org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment;
@@ -86,9 +88,9 @@ public class TestClientClusterStatus {
     Assert.assertTrue(origin.equals(defaults));
   }
 
-
   @Test
   public void testLiveAndDeadServersStatus() throws Exception {
+    // Count the number of live regionservers
     List<RegionServerThread> regionserverThreads = CLUSTER.getLiveRegionServerThreads();
     int numRs = 0;
     int len = regionserverThreads.size();
@@ -98,6 +100,16 @@ public class TestClientClusterStatus {
       }
     }
     // Retrieve live servers and dead servers info.
+    // Depending on the (random) order of unit execution we may run this unit before the
+    // minicluster is fully up and recovered from the RS shutdown done during test init.
+    Waiter.waitFor(CLUSTER.getConfiguration(), 10 * 1000, 100, new Predicate<Exception>() {
+      @Override
+      public boolean evaluate() throws Exception {
+        ClusterStatus status = ADMIN.getClusterStatus();
+        Assert.assertNotNull(status);
+        return status.getRegionsCount() > 0;
+      }
+    });
     ClusterStatus status = ADMIN.getClusterStatus();
     Assert.assertNotNull(status);
     Assert.assertNotNull(status.getServers());