[37/51] [abbrv] hbase git commit: HBASE-21534 TestAssignmentManager is flakey
HBASE-21534 TestAssignmentManager is flakey Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d525ec6a Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d525ec6a Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d525ec6a Branch: refs/heads/HBASE-20952 Commit: d525ec6a1214f97bda560095f9775ca96d82f030 Parents: 5c209f2 Author: Duo Zhang Authored: Fri Nov 30 15:26:04 2018 +0800 Committer: zhangduo Committed: Sat Dec 1 20:41:11 2018 +0800 -- .../master/assignment/TestAssignmentManagerBase.java | 14 ++ 1 file changed, 14 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/d525ec6a/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 7ab37bc..7b5c550 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 @@ -22,6 +22,7 @@ import static org.junit.Assert.assertNotEquals; import java.io.IOException; import java.io.InterruptedIOException; +import java.io.UncheckedIOException; import java.net.SocketTimeoutException; import java.util.Arrays; import java.util.NavigableMap; @@ -38,8 +39,10 @@ import java.util.concurrent.TimeUnit; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.NotServingRegionException; +import org.apache.hadoop.hbase.ServerMetricsBuilder; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.YouAreDeadException; import org.apache.hadoop.hbase.client.RegionInfo; import org.apache.hadoop.hbase.client.RegionInfoBuilder; import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException; @@ -271,7 +274,18 @@ public abstract class TestAssignmentManagerBase { } protected void doCrash(final ServerName serverName) { +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); +try { + this.master.getServerManager().regionServerReport(newSn, ServerMetricsBuilder.of(newSn)); +} catch (YouAreDeadException e) { + // should not happen + throw new UncheckedIOException(e); +} } protected void doRestart(final ServerName serverName) {
hbase git commit: HBASE-21534 TestAssignmentManager is flakey
Repository: hbase Updated Branches: refs/heads/branch-2 7e8ce1c5c -> 96f8e0cbe HBASE-21534 TestAssignmentManager is flakey Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/96f8e0cb Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/96f8e0cb Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/96f8e0cb Branch: refs/heads/branch-2 Commit: 96f8e0cbe9b6d1d6a5f4773c7b210b026c65b300 Parents: 7e8ce1c Author: Duo Zhang Authored: Fri Nov 30 15:26:04 2018 +0800 Committer: Duo Zhang Committed: Thu Dec 6 09:54:18 2018 +0800 -- .../assignment/TestAssignmentManagerBase.java | 25 +--- 1 file changed, 22 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/96f8e0cb/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 7ab37bc..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 @@ -22,6 +22,7 @@ import static org.junit.Assert.assertNotEquals; import java.io.IOException; import java.io.InterruptedIOException; +import java.io.UncheckedIOException; import java.net.SocketTimeoutException; import java.util.Arrays; import java.util.NavigableMap; @@ -38,8 +39,10 @@ import java.util.concurrent.TimeUnit; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.NotServingRegionException; +import org.apache.hadoop.hbase.ServerMetricsBuilder; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.YouAreDeadException; import org.apache.hadoop.hbase.client.RegionInfo; import org.apache.hadoop.hbase.client.RegionInfoBuilder; import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException; @@ -64,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; @@ -110,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 { @@ -127,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(); @@ -186,7 +195,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(); @@ -271,7 +280,17 @@ public abstract class TestAssignmentManagerBase { } protected void doCrash(final ServerName serverName) { +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 +ServerName newSn = ServerName.valueOf("localhost", 1 + newRsAdded, 1); +
[2/6] hbase git commit: HBASE-21534 TestAssignmentManager is flakey
HBASE-21534 TestAssignmentManager is flakey Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d525ec6a Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d525ec6a Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d525ec6a Branch: refs/heads/HBASE-21512 Commit: d525ec6a1214f97bda560095f9775ca96d82f030 Parents: 5c209f2 Author: Duo Zhang Authored: Fri Nov 30 15:26:04 2018 +0800 Committer: zhangduo Committed: Sat Dec 1 20:41:11 2018 +0800 -- .../master/assignment/TestAssignmentManagerBase.java | 14 ++ 1 file changed, 14 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/d525ec6a/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 7ab37bc..7b5c550 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 @@ -22,6 +22,7 @@ import static org.junit.Assert.assertNotEquals; import java.io.IOException; import java.io.InterruptedIOException; +import java.io.UncheckedIOException; import java.net.SocketTimeoutException; import java.util.Arrays; import java.util.NavigableMap; @@ -38,8 +39,10 @@ import java.util.concurrent.TimeUnit; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.NotServingRegionException; +import org.apache.hadoop.hbase.ServerMetricsBuilder; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.YouAreDeadException; import org.apache.hadoop.hbase.client.RegionInfo; import org.apache.hadoop.hbase.client.RegionInfoBuilder; import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException; @@ -271,7 +274,18 @@ public abstract class TestAssignmentManagerBase { } protected void doCrash(final ServerName serverName) { +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); +try { + this.master.getServerManager().regionServerReport(newSn, ServerMetricsBuilder.of(newSn)); +} catch (YouAreDeadException e) { + // should not happen + throw new UncheckedIOException(e); +} } protected void doRestart(final ServerName serverName) {
hbase git commit: HBASE-21534 TestAssignmentManager is flakey
Repository: hbase Updated Branches: refs/heads/master 5c209f2ce -> d525ec6a1 HBASE-21534 TestAssignmentManager is flakey Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d525ec6a Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d525ec6a Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d525ec6a Branch: refs/heads/master Commit: d525ec6a1214f97bda560095f9775ca96d82f030 Parents: 5c209f2 Author: Duo Zhang Authored: Fri Nov 30 15:26:04 2018 +0800 Committer: zhangduo Committed: Sat Dec 1 20:41:11 2018 +0800 -- .../master/assignment/TestAssignmentManagerBase.java | 14 ++ 1 file changed, 14 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/d525ec6a/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 7ab37bc..7b5c550 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 @@ -22,6 +22,7 @@ import static org.junit.Assert.assertNotEquals; import java.io.IOException; import java.io.InterruptedIOException; +import java.io.UncheckedIOException; import java.net.SocketTimeoutException; import java.util.Arrays; import java.util.NavigableMap; @@ -38,8 +39,10 @@ import java.util.concurrent.TimeUnit; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.NotServingRegionException; +import org.apache.hadoop.hbase.ServerMetricsBuilder; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.YouAreDeadException; import org.apache.hadoop.hbase.client.RegionInfo; import org.apache.hadoop.hbase.client.RegionInfoBuilder; import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException; @@ -271,7 +274,18 @@ public abstract class TestAssignmentManagerBase { } protected void doCrash(final ServerName serverName) { +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); +try { + this.master.getServerManager().regionServerReport(newSn, ServerMetricsBuilder.of(newSn)); +} catch (YouAreDeadException e) { + // should not happen + throw new UncheckedIOException(e); +} } protected void doRestart(final ServerName serverName) {