diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncAdminBase.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncAdminBase.java index c57ef8dca7e6..13762f448eff 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncAdminBase.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncAdminBase.java @@ -103,24 +103,27 @@ public void setUp() throws Exception { @After public void tearDown() throws Exception { - admin.listTableNames(Pattern.compile(tableName.getNameAsString() + ".*"), false) - .whenCompleteAsync((tables, err) -> { - if (tables != null) { - tables.forEach(table -> { - try { - admin.disableTable(table).join(); - } catch (Exception e) { - LOG.debug("Table: " + tableName + " already disabled, so just deleting it."); - } - admin.deleteTable(table).join(); - }); - } - }, ForkJoinPool.commonPool()).join(); + cleanupTables(admin, Pattern.compile(tableName.getNameAsString() + ".*")); if (!admin.isBalancerEnabled().join()) { admin.balancerSwitch(true, true); } } + protected void cleanupTables(AsyncAdmin admin, Pattern pattern) { + admin.listTableNames(pattern, false).whenCompleteAsync((tables, err) -> { + if (tables != null) { + tables.forEach(table -> { + try { + admin.disableTable(table).join(); + } catch (Exception e) { + LOG.debug("Table: " + tableName + " already disabled, so just deleting it."); + } + admin.deleteTable(table).join(); + }); + } + }, ForkJoinPool.commonPool()).join(); + } + protected void createTableWithDefaultConf(TableName tableName) throws IOException { createTableWithDefaultConf(tableName, null); } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.java index 33f1856a253b..c5744bd1fb77 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.java @@ -32,6 +32,7 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; import java.util.concurrent.atomic.AtomicInteger; +import java.util.regex.Pattern; import java.util.stream.Collectors; import org.apache.hadoop.conf.Configuration; @@ -53,6 +54,8 @@ import org.apache.hadoop.hbase.util.EnvironmentEdgeManager; import org.apache.hadoop.hbase.util.JVMClusterUtil; import org.apache.hadoop.hbase.util.Threads; +import org.junit.After; +import org.junit.BeforeClass; import org.junit.ClassRule; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -71,6 +74,19 @@ public class TestAsyncRegionAdminApi extends TestAsyncAdminBase { public static final HBaseClassTestRule CLASS_RULE = HBaseClassTestRule.forClass(TestAsyncRegionAdminApi.class); + @BeforeClass + public static void setUpBeforeClass() throws Exception { + TestAsyncAdminBase.setUpBeforeClass(); + // Turn off the balancer. So region will not be moved when test region admin api. + ASYNC_CONN.getAdmin().balancerSwitch(false).join(); + } + + @Override + @After + public void tearDown() throws Exception { + cleanupTables(admin, Pattern.compile(tableName.getNameAsString() + ".*")); + } + @Test public void testAssignRegionAndUnassignRegion() throws Exception { createTableWithDefaultConf(tableName); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi2.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi2.java index 7ea6b94cf82d..24beb144b219 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi2.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi2.java @@ -29,6 +29,7 @@ import java.util.Collections; import java.util.List; import java.util.concurrent.ExecutionException; +import java.util.regex.Pattern; import java.util.stream.Collectors; import org.apache.hadoop.hbase.AsyncMetaTableAccessor; import org.apache.hadoop.hbase.HBaseClassTestRule; @@ -39,6 +40,8 @@ import org.apache.hadoop.hbase.testclassification.LargeTests; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.Threads; +import org.junit.After; +import org.junit.BeforeClass; import org.junit.ClassRule; import org.junit.Ignore; import org.junit.Test; @@ -59,6 +62,19 @@ public class TestAsyncRegionAdminApi2 extends TestAsyncAdminBase { public static final HBaseClassTestRule CLASS_RULE = HBaseClassTestRule.forClass(TestAsyncRegionAdminApi2.class); + @BeforeClass + public static void setUpBeforeClass() throws Exception { + TestAsyncAdminBase.setUpBeforeClass(); + // Turn off the balancer. So region will not be moved when test region admin api. + ASYNC_CONN.getAdmin().balancerSwitch(false).join(); + } + + @Override + @After + public void tearDown() throws Exception { + cleanupTables(admin, Pattern.compile(tableName.getNameAsString() + ".*")); + } + @Test public void testGetRegionLocation() throws Exception { RawAsyncHBaseAdmin rawAdmin = (RawAsyncHBaseAdmin) ASYNC_CONN.getAdmin(); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApiWithClusters.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApiWithClusters.java index 8e60aad64fb0..6f68a851f343 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApiWithClusters.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApiWithClusters.java @@ -104,21 +104,6 @@ public void tearDown() throws Exception { cleanupTables(admin2, pattern); } - private void cleanupTables(AsyncAdmin admin, Pattern pattern) { - admin.listTableNames(pattern, false).whenCompleteAsync((tables, err) -> { - if (tables != null) { - tables.forEach(table -> { - try { - admin.disableTable(table).join(); - } catch (Exception e) { - LOG.debug("Table: " + tableName + " already disabled, so just deleting it."); - } - admin.deleteTable(table).join(); - }); - } - }, ForkJoinPool.commonPool()).join(); - } - private void createTableWithDefaultConf(AsyncAdmin admin, TableName tableName) { TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableName); builder.setColumnFamily(ColumnFamilyDescriptorBuilder.of(FAMILY));