diff --git hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/MiniMRYarnCluster.java hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/MiniMRYarnCluster.java index 47b38a1..c6bc24b 100644 --- hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/MiniMRYarnCluster.java +++ hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/MiniMRYarnCluster.java @@ -23,6 +23,7 @@ import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.UnknownHostException; +import java.util.concurrent.atomic.AtomicBoolean; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -206,14 +207,23 @@ public synchronized void serviceStart() throws Exception { getConfig().set(JHAdminConfig.JHS_ADMIN_ADDRESS, hostname + ":0"); } - historyServer = new JobHistoryServer(); + + final AtomicBoolean started = new AtomicBoolean(false); + historyServer = new JobHistoryServer() { + @Override + protected void serviceStart() throws Exception { + super.serviceStart(); + started.set(true); + } + }; historyServer.init(getConfig()); new Thread() { public void run() { historyServer.start(); }; }.start(); - while (historyServer.getServiceState() == STATE.INITED) { + + while (!started.get()) { LOG.info("Waiting for HistoryServer to start..."); Thread.sleep(1500); }