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 2011/05/20 06:37:33 UTC

svn commit: r1125230 - /hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java

Author: stack
Date: Fri May 20 04:37:32 2011
New Revision: 1125230

URL: http://svn.apache.org/viewvc?rev=1125230&view=rev
Log:
Wait on compaction to finish; another attempt at fixing TestSplitTransactionOnCluster

Modified:
    hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java

Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java?rev=1125230&r1=1125229&r2=1125230&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java Fri May 20 04:37:32 2011
@@ -44,6 +44,7 @@ import org.apache.hadoop.hbase.executor.
 import org.apache.hadoop.hbase.master.handler.SplitRegionHandler;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread;
+import org.apache.hadoop.hbase.util.Threads;
 import org.apache.hadoop.hbase.zookeeper.ZKAssign;
 import org.apache.zookeeper.KeeperException;
 import org.apache.zookeeper.KeeperException.NodeExistsException;
@@ -386,6 +387,16 @@ public class TestSplitTransactionOnClust
       // Compact first to ensure we have cleaned up references -- else the split
       // will fail.
       this.admin.compact(daughter.getRegionName());
+      daughters = cluster.getRegions(tableName);
+      HRegion daughterRegion = null;
+      for (HRegion r: daughters) {
+        if (r.getRegionInfo().equals(daughter)) daughterRegion = r;
+      }
+      assertTrue(daughterRegion != null);
+      while (true) {
+        if (!daughterRegion.hasReferences()) break;
+        Threads.sleep(100);
+      }
       split(daughter, server, regionCount);
       // Get list of daughters
       daughters = cluster.getRegions(tableName);