You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ch...@apache.org on 2016/02/20 03:01:05 UTC

hbase git commit: HBASE-15288 Flakey TestMasterMetrics.testClusterRequests on branch-1.1

Repository: hbase
Updated Branches:
  refs/heads/branch-1.1 e3ea7a427 -> ff65cba33


HBASE-15288 Flakey TestMasterMetrics.testClusterRequests on branch-1.1


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

Branch: refs/heads/branch-1.1
Commit: ff65cba3390447af3075f98bacb2077acf224de8
Parents: e3ea7a4
Author: chenheng <ch...@apache.org>
Authored: Sat Feb 20 10:00:11 2016 +0800
Committer: chenheng <ch...@apache.org>
Committed: Sat Feb 20 10:00:11 2016 +0800

----------------------------------------------------------------------
 .../hadoop/hbase/master/TestMasterMetrics.java  | 32 ++++++++++++++------
 1 file changed, 23 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/ff65cba3/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetrics.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetrics.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetrics.java
index b7e77fa..20c09de 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetrics.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetrics.java
@@ -90,29 +90,43 @@ public class TestMasterMetrics {
     request.setServer(ProtobufUtil.toServerName(serverName));
 
     MetricsMasterSource masterSource = master.getMasterMetrics().getMetricsSource();
-    ClusterStatusProtos.ServerLoad sl = ClusterStatusProtos.ServerLoad.newBuilder()
-                                           .setTotalNumberOfRequests(10000)
-                                           .build();
     masterSource.init();
+
+    // At begining, there maybe some requests to meta table, we should wait until
+    // our requests count to be stable.
+    long requests = waitForStableClusterRequests(masterSource);
+
+    ClusterStatusProtos.ServerLoad sl = ClusterStatusProtos.ServerLoad.newBuilder()
+      .setTotalNumberOfRequests(10000)
+      .build();
     request.setLoad(sl);
     master.getMasterRpcServices().regionServerReport(null, request.build());
-
-    metricsHelper.assertCounter("cluster_requests", 10000, masterSource);
+    metricsHelper.assertCounter("cluster_requests", requests + 10000, masterSource);
 
     sl = ClusterStatusProtos.ServerLoad.newBuilder()
         .setTotalNumberOfRequests(15000)
         .build();
     request.setLoad(sl);
     master.getMasterRpcServices().regionServerReport(null, request.build());
-
-    metricsHelper.assertCounter("cluster_requests", 15000, masterSource);
+    metricsHelper.assertCounter("cluster_requests", requests + 15000, masterSource);
 
     master.getMasterRpcServices().regionServerReport(null, request.build());
-
-    metricsHelper.assertCounter("cluster_requests", 15000, masterSource);
+    metricsHelper.assertCounter("cluster_requests", requests + 15000, masterSource);
     master.stopMaster();
   }
 
+  private long waitForStableClusterRequests( MetricsMasterSource masterSource)
+    throws InterruptedException {
+    long oldRequests = 0;
+    long requests = metricsHelper.getCounter("cluster_requests", masterSource);
+    while (requests != oldRequests) {
+      Thread.sleep(1000);
+      oldRequests = requests;
+      requests = metricsHelper.getCounter("cluster_requests", masterSource);
+    }
+    return requests;
+  }
+
   @Test
   public void testDefaultMasterMetrics() throws Exception {
     MetricsMasterSource masterSource = master.getMasterMetrics().getMetricsSource();