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

svn commit: r1435644 - /hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.java

Author: liyin
Date: Sat Jan 19 19:18:49 2013
New Revision: 1435644

URL: http://svn.apache.org/viewvc?rev=1435644&view=rev
Log:
[HBASE-7276] Fix TestRegionServerMetrics.testNumReadsAndWrites

Author: adela

Summary:
There is only one RS in the mini cluster in the test and the
meta and root regions are on it. Because of that the calculations for
numReads and Writes sometimes get messed up. Added skipping the
calculations for this regions

Test Plan: test passing

Reviewers: liyintang

Reviewed By: liyintang

CC: hbase-eng@

Differential Revision: https://phabricator.fb.com/D683273

Task ID: 1981461

Modified:
    hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.java

Modified: hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.java?rev=1435644&r1=1435643&r2=1435644&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.java (original)
+++ hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.java Sat Jan 19 19:18:49 2013
@@ -48,6 +48,7 @@ import org.apache.hadoop.hbase.io.hfile.
 import org.apache.hadoop.hbase.regionserver.metrics.SchemaMetrics;
 import org.apache.hadoop.hbase.regionserver.metrics.SchemaMetrics.StoreMetricType;
 import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
@@ -222,31 +223,38 @@ public class TestRegionServerMetrics {
 
   @Test
   public void testNumReadsAndWrites() throws IOException, InterruptedException{
-    testUtil.createRandomTable("NumReadsWritesTest", Arrays.asList(FAMILIES), MAX_VERSIONS,
-        NUM_COLS_PER_ROW, NUM_FLUSHES, NUM_REGIONS, 1000);
-    final HRegionServer rs =
-        testUtil.getMiniHBaseCluster().getRegionServer(0);
-    
+    testUtil.createRandomTable("NumReadsWritesTest", Arrays.asList(FAMILIES),
+        MAX_VERSIONS, NUM_COLS_PER_ROW, NUM_FLUSHES, NUM_REGIONS, 1000);
+    List<RegionServerThread> threads = testUtil.getMiniHBaseCluster()
+        .getLiveRegionServerThreads();
+    HRegionServer rs = threads.get(0).getRegionServer();
     long preNumRead = 0;
     long preNumWrite = 0;
-    for (HRegion region: rs.getOnlineRegions()) {
-      preNumRead += region.rowReadCnt.get();
-      preNumRead += region.rowUpdateCnt.get();
+    for (HRegion region : rs.getOnlineRegions()) {
+      HRegionInfo regionInfo = region.getRegionInfo();
+      if (!regionInfo.isMetaRegion() && !regionInfo.isRootRegion()) {
+        System.out.println(region.getRegionNameAsString());
+        preNumRead += region.rowReadCnt.get();
+        preNumRead += region.rowUpdateCnt.get();
+      }
     }
-    
+
     HRegion[] regions = rs.getOnlineRegionsAsArray();
-    for (int i=0; i<regions.length;  i++) {
+    for (int i = 0; i < regions.length; i++) {
       Get g = new Get(Bytes.toBytes("row" + i));
       regions[i].get(g, null);
     }
-    
+
     long numRead = 0;
     long numWrite = 0;
-    for (HRegion region: rs.getOnlineRegions()) {
-      numRead += region.rowReadCnt.get();
-      numWrite += region.rowUpdateCnt.get();
+    for (HRegion region : rs.getOnlineRegions()) {
+      HRegionInfo regionInfo = region.getRegionInfo();
+      if (!regionInfo.isMetaRegion() && !regionInfo.isRootRegion()) {
+        numRead += region.rowReadCnt.get();
+        numWrite += region.rowUpdateCnt.get();
+      }
     }
-    assertEquals(regions.length, numRead - preNumRead);
+    assertEquals(regions.length - 2, numRead - preNumRead);
     assertEquals(0, numWrite - preNumWrite);
   }