Index: src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionOnCluster.java =================================================================== --- src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionOnCluster.java (revision 1428120) +++ src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionOnCluster.java (working copy) @@ -23,6 +23,8 @@ import java.util.ArrayList; import java.util.List; +import javax.swing.text.TabExpander; + import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HRegionInfo; @@ -84,12 +86,19 @@ hbaseAdmin.move(regionInfo.getEncodedNameAsBytes(), Bytes.toBytes(targetServer.getServerName().getServerName())); do { - Thread.sleep(1); + Thread.sleep(10); } while (cluster.getServerWith(regionInfo.getRegionName()) == originServerNum); // Put data: r2->v2 putDataAndVerify(table, "r2", FAMILY, "v2", 2); + // make sure the region is online again as seen from the AssignmentManager + for (int i = 0; cluster.getMaster().getAssignmentManager() + .getRegionsOfTable(TABLENAME).size() < 1 + && i < 100; i++) { + Thread.sleep(10); + } + // Move region to origin server hbaseAdmin.move(regionInfo.getEncodedNameAsBytes(), Bytes.toBytes(originServer.getServerName().getServerName()));