You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2013/03/11 22:05:28 UTC

svn commit: r1455327 - /hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java

Author: stack
Date: Mon Mar 11 21:05:27 2013
New Revision: 1455327

URL: http://svn.apache.org/r1455327
Log:
HBASE-8068 TestMasterMetricsWrapper failed in 0.95 #60 jenkins

Modified:
    hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java

Modified: hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java?rev=1455327&r1=1455326&r2=1455327&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java (original)
+++ hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java Mon Mar 11 21:05:27 2013
@@ -17,12 +17,15 @@
  */
 package org.apache.hadoop.hbase.master;
 
-import junit.framework.Assert;
+import static org.junit.Assert.*;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.master.HMaster;
 import org.apache.hadoop.hbase.MediumTests;
 import org.apache.hadoop.hbase.master.MetricsMasterWrapperImpl;
+import org.apache.hadoop.hbase.util.Threads;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -30,9 +33,9 @@ import org.junit.experimental.categories
 
 @Category(MediumTests.class)
 public class TestMasterMetricsWrapper {
+  private static final Log LOG = LogFactory.getLog(TestMasterMetricsWrapper.class);
 
-  private static final HBaseTestingUtility TEST_UTIL =
-      new HBaseTestingUtility();
+  private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
 
   @BeforeClass
   public static void setup() throws Exception {
@@ -44,31 +47,32 @@ public class TestMasterMetricsWrapper {
     TEST_UTIL.shutdownMiniCluster();
   }
 
-  @Test
+  @Test (timeout = 30000)
   public void testInfo() {
     HMaster master = TEST_UTIL.getHBaseCluster().getMaster();
     MetricsMasterWrapperImpl info = new MetricsMasterWrapperImpl(master);
-    Assert.assertEquals(master.getAverageLoad(), info.getAverageLoad());
-    Assert.assertEquals(master.getClusterId(), info.getClusterId());
-    Assert.assertEquals(master.getMasterActiveTime(),
-        info.getActiveTime());
-    Assert.assertEquals(master.getMasterStartTime(),
-        info.getStartTime());
-    Assert.assertEquals(master.getCoprocessors().length,
-        info.getCoprocessors().length);
-    Assert.assertEquals(master.getServerManager().getOnlineServersList().size(),
-        info.getRegionServers());
-    Assert.assertTrue(info.getRegionServers() == 4);
+    assertEquals(master.getAverageLoad(), info.getAverageLoad(), 0);
+    assertEquals(master.getClusterId(), info.getClusterId());
+    assertEquals(master.getMasterActiveTime(), info.getActiveTime());
+    assertEquals(master.getMasterStartTime(), info.getStartTime());
+    assertEquals(master.getCoprocessors().length, info.getCoprocessors().length);
+    assertEquals(master.getServerManager().getOnlineServersList().size(), info.getRegionServers());
+    assertTrue(info.getRegionServers() == 4);
 
     String zkServers = info.getZookeeperQuorum();
-    Assert.assertEquals(zkServers.split(",").length,
-        TEST_UTIL.getZkCluster().getZooKeeperServerNum());
-
-    TEST_UTIL.getMiniHBaseCluster().stopRegionServer(3, false);
-    TEST_UTIL.getMiniHBaseCluster().waitOnRegionServer(3);
-    Assert.assertTrue(info.getRegionServers() == 3);
-    Assert.assertTrue(info.getDeadRegionServers() == 1);
+    assertEquals(zkServers.split(",").length, TEST_UTIL.getZkCluster().getZooKeeperServerNum());
 
+    final int index = 3;
+    LOG.info("Stopping " + TEST_UTIL.getMiniHBaseCluster().getRegionServer(index));
+    TEST_UTIL.getMiniHBaseCluster().stopRegionServer(index, false);
+    TEST_UTIL.getMiniHBaseCluster().waitOnRegionServer(index);
+    // We stopped the regionserver but could take a while for the master to notice it so hang here
+    // until it does... then move forward to see if metrics wrapper notices.
+    while (TEST_UTIL.getHBaseCluster().getMaster().getServerManager().getOnlineServers().size() !=
+        index) {
+      Threads.sleep(10);
+    }
+    assertTrue(info.getRegionServers() == 3);
+    assertTrue(info.getDeadRegionServers() == 1);
   }
-
-}
+}
\ No newline at end of file