YARN-4313. Race condition in MiniMRYarnCluster when getting history

server address. Contributed by Jian He
This commit is contained in:
Xuan 2015-10-29 17:36:36 -07:00
parent e5b1733e04
commit 7412ff48ee
2 changed files with 7 additions and 1 deletions

View File

@ -190,6 +190,7 @@ private class JobHistoryServerWrapper extends AbstractService {
public JobHistoryServerWrapper() { public JobHistoryServerWrapper() {
super(JobHistoryServerWrapper.class.getName()); super(JobHistoryServerWrapper.class.getName());
} }
private volatile boolean jhsStarted = false;
@Override @Override
public synchronized void serviceStart() throws Exception { public synchronized void serviceStart() throws Exception {
@ -211,9 +212,11 @@ public synchronized void serviceStart() throws Exception {
new Thread() { new Thread() {
public void run() { public void run() {
historyServer.start(); historyServer.start();
jhsStarted = true;
}; };
}.start(); }.start();
while (historyServer.getServiceState() == STATE.INITED) {
while (!jhsStarted) {
LOG.info("Waiting for HistoryServer to start..."); LOG.info("Waiting for HistoryServer to start...");
Thread.sleep(1500); Thread.sleep(1500);
} }

View File

@ -1144,6 +1144,9 @@ Release 2.7.2 - UNRELEASED
YARN-4183. Enabling generic application history forces every job to get a YARN-4183. Enabling generic application history forces every job to get a
timeline service delegation token (Mit Desai via jeagles) timeline service delegation token (Mit Desai via jeagles)
YARN-4313. Race condition in MiniMRYarnCluster when getting history server
address. (Jian He via xgong)
Release 2.7.1 - 2015-07-06 Release 2.7.1 - 2015-07-06
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES