From 526aa6421d948dc742bdaf2fd5abcf318f368bfa Mon Sep 17 00:00:00 2001 From: zhangduo Date: Sun, 2 Dec 2018 19:37:43 +0800 Subject: [PATCH] HBASE-21534 Addendum output uncaught exception, and increase the waiting time --- .../master/assignment/TestAssignmentManagerBase.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestAssignmentManagerBase.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestAssignmentManagerBase.java index 7b5c55014a..f055985985 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestAssignmentManagerBase.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestAssignmentManagerBase.java @@ -67,6 +67,8 @@ import org.junit.rules.TestName; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder; + import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest; import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse; @@ -130,7 +132,8 @@ public abstract class TestAssignmentManagerBase { @Before public void setUp() throws Exception { util = new HBaseTestingUtility(); - this.executor = Executors.newSingleThreadScheduledExecutor(); + this.executor = Executors.newSingleThreadScheduledExecutor(new ThreadFactoryBuilder() + .setUncaughtExceptionHandler((t, e) -> LOG.warn("Uncaught: ", e)).build()); setupConfiguration(util.getConfiguration()); master = new MockMasterServices(util.getConfiguration(), this.regionsToRegionServers); rsDispatcher = new MockRSProcedureDispatcher(master); @@ -189,7 +192,7 @@ public abstract class TestAssignmentManagerBase { protected byte[] waitOnFuture(final Future future) throws Exception { try { - return future.get(60, TimeUnit.SECONDS); + return future.get(3, TimeUnit.MINUTES); } catch (ExecutionException e) { LOG.info("ExecutionException", e); Exception ee = (Exception) e.getCause(); @@ -278,8 +281,8 @@ public abstract class TestAssignmentManagerBase { this.am.submitServerCrash(serverName, false/* No WALs here */); // add a new server to avoid killing all the region servers which may hang the UTs int maxPort = this.master.getServerManager().getOnlineServersList().stream() - .mapToInt(ServerName::getPort).max().getAsInt(); - ServerName newSn = ServerName.valueOf("localhost", 100 + maxPort + 1, 1); + .mapToInt(ServerName::getPort).max().orElse(1000); + ServerName newSn = ServerName.valueOf("localhost", maxPort + 1, 1); try { this.master.getServerManager().regionServerReport(newSn, ServerMetricsBuilder.of(newSn)); } catch (YouAreDeadException e) { -- 2.17.1