You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2012/12/30 18:00:53 UTC

svn commit: r1426965 - /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java

Author: tedyu
Date: Sun Dec 30 17:00:53 2012
New Revision: 1426965

URL: http://svn.apache.org/viewvc?rev=1426965&view=rev
Log:
HBASE-7299 TestMultiParallel fails intermittently in trunk builds (Chunhui)


Modified:
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java?rev=1426965&r1=1426964&r2=1426965&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java Sun Dec 30 17:00:53 2012
@@ -65,6 +65,7 @@ public class TestMultiParallel {
     UTIL.startMiniCluster(slaves);
     HTable t = UTIL.createTable(Bytes.toBytes(TEST_TABLE), Bytes.toBytes(FAMILY));
     UTIL.createMultiRegions(t, Bytes.toBytes(FAMILY));
+    UTIL.waitTableAvailable(Bytes.toBytes(TEST_TABLE), 15 * 1000);
     t.close();
   }
 
@@ -226,6 +227,11 @@ public class TestMultiParallel {
     doTestFlushCommits(true);
   }
 
+  /**
+   * Set table auto flush to false and test flushing commits
+   * @param doAbort true if abort one regionserver in the testing
+   * @throws Exception
+   */
   private void doTestFlushCommits(boolean doAbort) throws Exception {
     // Load the data
     LOG.info("get new table");
@@ -242,7 +248,14 @@ public class TestMultiParallel {
     table.flushCommits();
     if (doAbort) {
       LOG.info("Aborted=" + UTIL.getMiniHBaseCluster().abortRegionServer(0));
-
+      // If we wait for no regions being online after we abort the server, we
+      // could ensure the master has re-assigned the regions on killed server
+      // after writing successfully. It means the server we aborted is dead
+      // and detected by matser
+      while (UTIL.getMiniHBaseCluster().getRegionServer(0)
+          .getNumberOfOnlineRegions() != 0) {
+        Thread.sleep(10);
+      }
       // try putting more keys after the abort. same key/qual... just validating
       // no exceptions thrown
       puts = constructPutRequests();