parent
c98ec0c22c
commit
a18f5b1517
|
@ -951,6 +951,10 @@ public class HRegionServer extends HasThread implements
|
|||
*/
|
||||
@Override
|
||||
public void run() {
|
||||
if (isStopped()) {
|
||||
LOG.info("Skipping run; stopped");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
// Do pre-registration initializations; zookeeper, lease threads, etc.
|
||||
preRegistrationInitialization();
|
||||
|
@ -964,24 +968,25 @@ public class HRegionServer extends HasThread implements
|
|||
// Initialize the RegionServerCoprocessorHost now that our ephemeral
|
||||
// node was created, in case any coprocessors want to use ZooKeeper
|
||||
this.rsHost = new RegionServerCoprocessorHost(this, this.conf);
|
||||
}
|
||||
|
||||
// Try and register with the Master; tell it we are here. Break if server is stopped or the
|
||||
// clusterup flag is down or hdfs went wacky. Once registered successfully, go ahead and start
|
||||
// up all Services. Use RetryCounter to get backoff in case Master is struggling to come up.
|
||||
LOG.debug("About to register with Master.");
|
||||
RetryCounterFactory rcf = new RetryCounterFactory(Integer.MAX_VALUE,
|
||||
this.sleeper.getPeriod(), 1000 * 60 * 5);
|
||||
RetryCounter rc = rcf.create();
|
||||
while (keepLooping()) {
|
||||
RegionServerStartupResponse w = reportForDuty();
|
||||
if (w == null) {
|
||||
long sleepTime = rc.getBackoffTimeAndIncrementAttempts();
|
||||
LOG.warn("reportForDuty failed; sleeping {} ms and then retrying.", sleepTime);
|
||||
this.sleeper.sleep(sleepTime);
|
||||
} else {
|
||||
handleReportForDutyResponse(w);
|
||||
break;
|
||||
// Try and register with the Master; tell it we are here. Break if server is stopped or
|
||||
// the clusterup flag is down or hdfs went wacky. Once registered successfully, go ahead and
|
||||
// start up all Services. Use RetryCounter to get backoff in case Master is struggling to
|
||||
// come up.
|
||||
LOG.debug("About to register with Master.");
|
||||
RetryCounterFactory rcf =
|
||||
new RetryCounterFactory(Integer.MAX_VALUE, this.sleeper.getPeriod(), 1000 * 60 * 5);
|
||||
RetryCounter rc = rcf.create();
|
||||
while (keepLooping()) {
|
||||
RegionServerStartupResponse w = reportForDuty();
|
||||
if (w == null) {
|
||||
long sleepTime = rc.getBackoffTimeAndIncrementAttempts();
|
||||
LOG.warn("reportForDuty failed; sleeping {} ms and then retrying.", sleepTime);
|
||||
this.sleeper.sleep(sleepTime);
|
||||
} else {
|
||||
handleReportForDutyResponse(w);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -168,8 +168,7 @@ public class TestMasterShutdown {
|
|||
final long timeout = TimeUnit.MINUTES.toMillis(10);
|
||||
assertNotEquals("timeout waiting for server manager to become available.",
|
||||
-1, Waiter.waitFor(htu.getConfiguration(), timeout,
|
||||
() -> masterThread.getMaster().getServerManager() != null &&
|
||||
!masterThread.getMaster().isStopping()));
|
||||
() -> masterThread.getMaster().getServerManager() != null));
|
||||
|
||||
// Master has come up far enough that we can terminate it without creating a zombie.
|
||||
final long result = Waiter.waitFor(htu.getConfiguration(), timeout, 500, () -> {
|
||||
|
@ -184,10 +183,10 @@ public class TestMasterShutdown {
|
|||
LOG.debug("Shutdown RPC sent.");
|
||||
return true;
|
||||
} catch (CompletionException e) {
|
||||
LOG.debug("Failure sending shutdown RPC.");
|
||||
LOG.debug("Failure sending shutdown RPC.", e);
|
||||
}
|
||||
} catch (IOException|CompletionException e) {
|
||||
LOG.debug("Failed to establish connection.");
|
||||
LOG.debug("Failed to establish connection.", e);
|
||||
} catch (Throwable e) {
|
||||
LOG.info("Something unexpected happened.", e);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue