You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by jx...@apache.org on 2013/10/29 01:01:19 UTC

svn commit: r1536563 - /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/regionserver/TestRpcMetrics.java

Author: jxiang
Date: Tue Oct 29 00:01:18 2013
New Revision: 1536563

URL: http://svn.apache.org/r1536563
Log:
HBASE-9852 TestRpcMetrics.testCustomMetrics is flaky

Modified:
    hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/regionserver/TestRpcMetrics.java

Modified: hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/regionserver/TestRpcMetrics.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/regionserver/TestRpcMetrics.java?rev=1536563&r1=1536562&r2=1536563&view=diff
==============================================================================
--- hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/regionserver/TestRpcMetrics.java (original)
+++ hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/regionserver/TestRpcMetrics.java Tue Oct 29 00:01:18 2013
@@ -20,10 +20,11 @@
 
 package org.apache.hadoop.hbase.regionserver;
 
+import static org.junit.Assert.assertTrue;
+
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Random;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -31,6 +32,7 @@ import org.apache.hadoop.conf.Configurat
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.MediumTests;
 import org.apache.hadoop.hbase.ipc.HBaseRpcMetrics;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
 import org.apache.hadoop.metrics.ContextFactory;
 import org.apache.hadoop.metrics.MetricsContext;
 import org.apache.hadoop.metrics.MetricsUtil;
@@ -41,8 +43,6 @@ import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
-import static org.junit.Assert.*;
-
 @Category(MediumTests.class)
 public class TestRpcMetrics {
   /**
@@ -123,12 +123,15 @@ public class TestRpcMetrics {
     TestRegionServer rs = new TestRegionServer(TEST_UTIL.getConfiguration());
     rs.incTest(5);
 
-    // wait for metrics context update
-    Thread.sleep(1000);
-
     String metricName = HBaseRpcMetrics.getMetricName(TestMetrics.class, "test");
-    assertTrue("Metric should have set incremented for "+metricName,
-        wasSet(metricName + "_num_ops"));
+    long start = EnvironmentEdgeManager.currentTimeMillis();
+    while (!wasSet(metricName + "_num_ops")) {
+      if (EnvironmentEdgeManager.currentTimeMillis() - start > 60000) {
+        assertTrue("Metric should have set incremented for "+metricName,
+          wasSet(metricName + "_num_ops"));
+      }
+      Thread.sleep(200);
+    }
   }
 
   public boolean wasSet(String name) {