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 2018/12/03 00:20:18 UTC
hbase git commit: HBASE-21534 Addendum output uncaught exception,
fix the way that we add new region servers to avoid recreate a dead
server
Repository: hbase
Updated Branches:
refs/heads/master d525ec6a1 -> dec49135a
HBASE-21534 Addendum output uncaught exception, fix the way that we add new region servers to avoid recreate a dead server
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/dec49135
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/dec49135
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/dec49135
Branch: refs/heads/master
Commit: dec49135a36c5dfb4154eb0cc98a2a44e143bb30
Parents: d525ec6
Author: zhangduo <zh...@apache.org>
Authored: Sun Dec 2 19:52:23 2018 +0800
Committer: zhangduo <zh...@apache.org>
Committed: Mon Dec 3 08:19:21 2018 +0800
----------------------------------------------------------------------
.../assignment/TestAssignmentManagerBase.java | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/dec49135/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestAssignmentManagerBase.java
----------------------------------------------------------------------
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 7b5c550..f666ab8 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;
@@ -113,9 +115,11 @@ public abstract class TestAssignmentManagerBase {
protected long unassignSubmittedCount = 0;
protected long unassignFailedCount = 0;
+ protected int newRsAdded;
+
protected int getAssignMaxAttempts() {
// Have many so we succeed eventually.
- return 100;
+ return 1000;
}
protected void setupConfiguration(Configuration conf) throws Exception {
@@ -130,11 +134,13 @@ 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);
master.start(NSERVERS, rsDispatcher);
+ newRsAdded = 0;
am = master.getAssignmentManager();
assignProcMetrics = am.getAssignmentManagerMetrics().getAssignProcMetrics();
unassignProcMetrics = am.getAssignmentManagerMetrics().getUnassignProcMetrics();
@@ -189,7 +195,7 @@ public abstract class TestAssignmentManagerBase {
protected byte[] waitOnFuture(final Future<byte[]> 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();
@@ -277,9 +283,8 @@ public abstract class TestAssignmentManagerBase {
this.master.getServerManager().moveFromOnlineToDeadServers(serverName);
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);
+ ServerName newSn = ServerName.valueOf("localhost", 10000 + newRsAdded, 1);
+ newRsAdded++;
try {
this.master.getServerManager().regionServerReport(newSn, ServerMetricsBuilder.of(newSn));
} catch (YouAreDeadException e) {