This is an automated email from the ASF dual-hosted git repository. zhangduo pushed a commit to branch HBASE-21512 in repository https://gitbox.apache.org/repos/asf/hbase.git
commit e920174ea38daacb76e68086048c55d6a2ab2a31 Author: zhangduo <[email protected]> AuthorDate: Thu May 2 21:09:26 2019 +0800 HBASE-22351 Fix creating table timeout for TestProcedurePriority --- .../hbase/master/procedure/TestProcedurePriority.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestProcedurePriority.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestProcedurePriority.java index 1cfe17b..3a01d16 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestProcedurePriority.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestProcedurePriority.java @@ -22,12 +22,14 @@ import java.util.ArrayList; import java.util.List; import java.util.Optional; import java.util.concurrent.Future; +import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.HBaseClassTestRule; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.Waiter.ExplainingPredicate; +import org.apache.hadoop.hbase.client.AsyncAdmin; import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder; import org.apache.hadoop.hbase.client.Durability; import org.apache.hadoop.hbase.client.Get; @@ -112,13 +114,17 @@ public class TestProcedurePriority { UTIL.getMiniHBaseCluster().getMaster().getMasterProcedureExecutor().getCorePoolSize(); TABLE_COUNT = 50 * CORE_POOL_SIZE; List<Future<?>> futures = new ArrayList<>(); + AsyncAdmin admin = UTIL.getAsyncConnection().getAdmin(); + Semaphore concurrency = new Semaphore(10); for (int i = 0; i < TABLE_COUNT; i++) { - futures.add(UTIL.getAdmin().createTableAsync( - TableDescriptorBuilder.newBuilder(TableName.valueOf(TABLE_NAME_PREFIX + i)) - .setColumnFamily(ColumnFamilyDescriptorBuilder.of(CF)).build())); + concurrency.acquire(); + futures.add(admin + .createTable(TableDescriptorBuilder.newBuilder(TableName.valueOf(TABLE_NAME_PREFIX + i)) + .setColumnFamily(ColumnFamilyDescriptorBuilder.of(CF)).build()) + .whenComplete((r, e) -> concurrency.release())); } for (Future<?> future : futures) { - future.get(1, TimeUnit.MINUTES); + future.get(3, TimeUnit.MINUTES); } UTIL.getAdmin().balance(true); UTIL.waitUntilNoRegionsInTransition();
