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

svn commit: r1392455 - /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java

Author: jmhsieh
Date: Mon Oct  1 17:33:30 2012
New Revision: 1392455

URL: http://svn.apache.org/viewvc?rev=1392455&view=rev
Log:
HBASE-6906 TestHBaseFsck#testQuarantine* tests are flakey due to TestNotEnabledException

Modified:
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java?rev=1392455&r1=1392454&r2=1392455&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java Mon Oct  1 17:33:30 2012
@@ -1383,6 +1383,9 @@ public class TestHBaseFsck {
     }
   }
 
+  /**
+  * Test that use this should have a timeout, because this method could potentially wait forever.
+  */
   private void doQuarantineTest(String table, HBaseFsck hbck, int check, int corrupt, int fail,
       int quar, int missing) throws Exception {
     try {
@@ -1405,7 +1408,16 @@ public class TestHBaseFsck {
       assertEquals(hfcc.getMissing().size(), missing);
 
       // its been fixed, verify that we can enable
-      TEST_UTIL.getHBaseAdmin().enableTable(table);
+      HBaseAdmin admin = TEST_UTIL.getHBaseAdmin();
+      admin.enableTableAsync(table);
+      while (!admin.isTableEnabled(table)) {
+        try {
+          Thread.sleep(250);
+        } catch (InterruptedException e) {
+          e.printStackTrace();
+          fail("Interrupted when trying to enable table " + table);
+        }
+      }
     } finally {
       deleteTable(table);
     }