Repository: hbase Updated Branches: refs/heads/branch-1 7fbee896f -> 9895604e9
Revert "HBASE-12694 testTableExistsIfTheSpecifiedTableRegionIsSplitParent in TestSplitTransactionOnCluster class leaves regions in transition (Vandana Ayyalasomayajula)" This reverts commit 7fbee896f488405bc883a533f842c77422dee18d. Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/9895604e Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/9895604e Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/9895604e Branch: refs/heads/branch-1 Commit: 9895604e968984a55de20b99b0a875c23d83b329 Parents: 7fbee89 Author: Virag Kothari <[email protected]> Authored: Thu Dec 18 11:33:16 2014 -0800 Committer: Virag Kothari <[email protected]> Committed: Thu Dec 18 11:33:16 2014 -0800 ---------------------------------------------------------------------- .../hbase/regionserver/SplitTransaction.java | 2 +- .../TestSplitTransactionOnCluster.java | 42 +++----------------- 2 files changed, 6 insertions(+), 38 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/9895604e/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java index 5215433..06e726f 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java @@ -94,7 +94,7 @@ public class SplitTransaction { private HRegionInfo hri_b; private long fileSplitTimeout = 30000; public SplitTransactionCoordination.SplitTransactionDetails std; - boolean useZKForAssignment = true; + boolean useZKForAssignment; /* * Row to split around http://git-wip-us.apache.org/repos/asf/hbase/blob/9895604e/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 84e7d26..99de513 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 @@ -47,7 +47,6 @@ import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.HRegionInfo; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.apache.hadoop.hbase.CoprocessorEnvironment; import org.apache.hadoop.hbase.MasterNotRunningException; import org.apache.hadoop.hbase.MiniHBaseCluster; import org.apache.hadoop.hbase.RegionTransition; @@ -307,10 +306,7 @@ public class TestSplitTransactionOnCluster { this.admin.split(region.getRegionName(), new byte[] {42}); // we have to wait until the SPLITTING state is seen by the master - FailingSplitRegionObserver observer = (FailingSplitRegionObserver) region - .getCoprocessorHost().findCoprocessor(FailingSplitRegionObserver.class.getName()); - assertNotNull(observer); - observer.latch.await(); + FailingSplitRegionObserver.latch.await(); LOG.info("Waiting for region to come out of RIT"); TESTING_UTIL.waitFor(60000, 1000, new Waiter.Predicate<Exception>() { @@ -376,26 +372,13 @@ public class TestSplitTransactionOnCluster { } public static class FailingSplitRegionObserver extends BaseRegionObserver { - volatile CountDownLatch latch; - volatile CountDownLatch postSplit; - @Override - public void start(CoprocessorEnvironment e) throws IOException { - latch = new CountDownLatch(1); - postSplit = new CountDownLatch(1); - } + static volatile CountDownLatch latch = new CountDownLatch(1); @Override public void preSplitBeforePONR(ObserverContext<RegionCoprocessorEnvironment> ctx, byte[] splitKey, List<Mutation> metaEntries) throws IOException { latch.countDown(); - LOG.info("Causing rollback of region split"); throw new IOException("Causing rollback of region split"); } - @Override - public void postCompleteSplit(ObserverContext<RegionCoprocessorEnvironment> ctx) - throws IOException { - postSplit.countDown(); - LOG.info("postCompleteSplit called"); - } } /** @@ -934,20 +917,10 @@ public class TestSplitTransactionOnCluster { tableExists = MetaTableAccessor.tableExists(regionServer.getConnection(), tableName); assertEquals("The specified table should present.", true, tableExists); - Map<String, RegionState> rit = cluster.getMaster().getAssignmentManager().getRegionStates() - .getRegionsInTransition(); - assertTrue(rit.size() == 3); - cluster.getMaster().getAssignmentManager().regionOffline(st.getFirstDaughter()); - cluster.getMaster().getAssignmentManager().regionOffline(st.getSecondDaughter()); - cluster.getMaster().getAssignmentManager().regionOffline(region.getRegionInfo()); - rit = cluster.getMaster().getAssignmentManager().getRegionStates() - .getRegionsInTransition(); - assertTrue(rit.size() == 0); } finally { admin.setBalancerRunning(true, false); cluster.getMaster().setCatalogJanitorEnabled(true); t.close(); - TESTING_UTIL.deleteTable(tableName); } } @@ -1191,7 +1164,7 @@ public class TestSplitTransactionOnCluster { } } - @Test(timeout = 120000) + @Test public void testFailedSplit() throws Exception { TableName tableName = TableName.valueOf("testFailedSplit"); byte[] colFamily = Bytes.toBytes("info"); @@ -1208,23 +1181,18 @@ public class TestSplitTransactionOnCluster { // The following split would fail. admin.split(tableName); - FailingSplitRegionObserver observer = (FailingSplitRegionObserver) actualRegion - .getCoprocessorHost().findCoprocessor(FailingSplitRegionObserver.class.getName()); - assertNotNull(observer); - observer.latch.await(); - observer.postSplit.await(); + FailingSplitRegionObserver.latch.await(); LOG.info("Waiting for region to come out of RIT"); TESTING_UTIL.waitFor(60000, 1000, new Waiter.Predicate<Exception>() { @Override public boolean evaluate() throws Exception { RegionStates regionStates = cluster.getMaster().getAssignmentManager().getRegionStates(); Map<String, RegionState> rit = regionStates.getRegionsInTransition(); - return (rit.size() == 0); + return !rit.containsKey(actualRegion.getRegionInfo().getEncodedName()); } }); regions = TESTING_UTIL.getHBaseAdmin().getTableRegions(tableName); assertTrue(regions.size() == 1); - assertTrue(admin.balancer()); } finally { table.close(); connection.close();
