You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by je...@apache.org on 2015/04/23 06:38:50 UTC
hbase git commit: HBASE-13526 TestRegionServerReportForDuty can be
flaky: hang or timeout
Repository: hbase
Updated Branches:
refs/heads/master afd7a8f47 -> 6c427175b
HBASE-13526 TestRegionServerReportForDuty can be flaky: hang or timeout
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/6c427175
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/6c427175
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/6c427175
Branch: refs/heads/master
Commit: 6c427175b826ad54ccb4ca4a65b1cd9aeeb6fdc6
Parents: afd7a8f
Author: Jerry He <je...@apache.org>
Authored: Wed Apr 22 21:19:10 2015 -0700
Committer: Jerry He <je...@apache.org>
Committed: Wed Apr 22 21:19:10 2015 -0700
----------------------------------------------------------------------
.../TestRegionServerReportForDuty.java | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/6c427175/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReportForDuty.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReportForDuty.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReportForDuty.java
index ebb8209..0bd4f3f 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReportForDuty.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReportForDuty.java
@@ -92,6 +92,8 @@ public class TestRegionServerReportForDuty {
master.start();
rs.start();
+ waitForClusterOnline(master);
+
// Add a 2nd region server
cluster.getConfiguration().set(HConstants.REGION_SERVER_IMPL, MyRegionServer.class.getName());
rs2 = cluster.addRegionServer();
@@ -101,7 +103,7 @@ public class TestRegionServerReportForDuty {
LOG.debug("Starting 2nd region server: " + rs2.getRegionServer().getServerName());
rs2.start();
- waitForClusterOnline(master);
+ waitForSecondRsStarted();
// Stop the current master.
master.getMaster().stop("Stopping master");
@@ -126,8 +128,7 @@ public class TestRegionServerReportForDuty {
private void waitForClusterOnline(MasterThread master) throws InterruptedException {
while (true) {
- if (master.getMaster().isInitialized()
- && ((MyRegionServer) rs2.getRegionServer()).getRpcStubCreatedFlag() == true) {
+ if (master.getMaster().isInitialized()) {
break;
}
Thread.sleep(SLEEP_INTERVAL);
@@ -136,6 +137,16 @@ public class TestRegionServerReportForDuty {
rs.waitForServerOnline();
}
+ private void waitForSecondRsStarted() throws InterruptedException {
+ while (true) {
+ if (((MyRegionServer) rs2.getRegionServer()).getRpcStubCreatedFlag() == true) {
+ break;
+ }
+ Thread.sleep(SLEEP_INTERVAL);
+ LOG.debug("Waiting 2nd RS to be started ...");
+ }
+ }
+
// Create a Region Server that provide a hook so that we can wait for the master switch over
// before continuing reportForDuty to the mater.
// The idea is that we get a RPC connection to the first active master, then we wait.
@@ -170,6 +181,7 @@ public class TestRegionServerReportForDuty {
try {
Thread.sleep(SLEEP_INTERVAL);
} catch (InterruptedException e) {
+ return null;
}
LOG.debug("Waiting for master switch over ... ");
}