Repository: hbase
Updated Branches:
  refs/heads/branch-1 ad2064d8a -> 0bec57e7c


HBASE-12181 Some tests create a table and try to use it before regions get 
assigned (Dima Spivak)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/0bec57e7
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0bec57e7
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0bec57e7

Branch: refs/heads/branch-1
Commit: 0bec57e7c159c4c7b85dd74ba2643252d1f076d8
Parents: ad2064d
Author: stack <[email protected]>
Authored: Wed Oct 8 17:23:21 2014 -0700
Committer: stack <[email protected]>
Committed: Wed Oct 8 17:23:21 2014 -0700

----------------------------------------------------------------------
 .../TestSplitTransactionOnCluster.java          | 25 +++++++++++++-------
 1 file changed, 17 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/0bec57e7/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java
index 0708b79..89870ca 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java
@@ -1032,19 +1032,28 @@ public class TestSplitTransactionOnCluster {
   public void testSplitHooksBeforeAndAfterPONR() throws Exception {
     TableName firstTable = 
TableName.valueOf("testSplitHooksBeforeAndAfterPONR_1");
     TableName secondTable = 
TableName.valueOf("testSplitHooksBeforeAndAfterPONR_2");
+    HColumnDescriptor hcd = new HColumnDescriptor("cf");
+
     HTableDescriptor desc = new HTableDescriptor(firstTable);
     desc.addCoprocessor(MockedRegionObserver.class.getName());
-    HColumnDescriptor hcd = new HColumnDescriptor("cf");
     desc.addFamily(hcd);
     admin.createTable(desc);
+    TESTING_UTIL.waitUntilAllRegionsAssigned(firstTable);
+
     desc = new HTableDescriptor(secondTable);
-    hcd = new HColumnDescriptor("cf");
     desc.addFamily(hcd);
     admin.createTable(desc);
-    List<HRegion> firstTableregions = cluster.getRegions(firstTable);
+    TESTING_UTIL.waitUntilAllRegionsAssigned(secondTable);
+
+    List<HRegion> firstTableRegions = cluster.getRegions(firstTable);
     List<HRegion> secondTableRegions = cluster.getRegions(secondTable);
+
+    // Check that both tables actually have regions.
+    if (firstTableRegions.size() == 0 || secondTableRegions.size() == 0) {
+      fail("Each table should have at least one region.");
+    }
     ServerName serverName =
-        
cluster.getServerHoldingRegion(firstTableregions.get(0).getRegionName());
+        
cluster.getServerHoldingRegion(firstTableRegions.get(0).getRegionName());
     
admin.move(secondTableRegions.get(0).getRegionInfo().getEncodedNameAsBytes(),
       Bytes.toBytes(serverName.getServerName()));
     Table table1 = null;
@@ -1055,12 +1064,12 @@ public class TestSplitTransactionOnCluster {
       insertData(firstTable, admin, table1);
       insertData(secondTable, admin, table2);
       admin.split(firstTable, "row2".getBytes());
-      firstTableregions = cluster.getRegions(firstTable);
-      while (firstTableregions.size() != 2) {
+      firstTableRegions = cluster.getRegions(firstTable);
+      while (firstTableRegions.size() != 2) {
         Thread.sleep(1000);
-        firstTableregions = cluster.getRegions(firstTable);
+        firstTableRegions = cluster.getRegions(firstTable);
       }
-      assertEquals("Number of regions after split should be 2.", 2, 
firstTableregions.size());
+      assertEquals("Number of regions after split should be 2.", 2, 
firstTableRegions.size());
       secondTableRegions = cluster.getRegions(secondTable);
       assertEquals("Number of regions after split should be 2.", 2, 
secondTableRegions.size());
     } finally {

Reply via email to