You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2019/06/02 15:21:17 UTC
[hbase] 27/28: HBASE-22351 Fix creating table timeout for
TestProcedurePriority
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 23d1b3be5c206af421a02929ff0cf980475d6967
Author: zhangduo <zh...@apache.org>
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();