diff --git hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java index 9d35d1b..a816701 100644 --- hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java +++ hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java @@ -37,6 +37,7 @@ import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.common.annotations.VisibleForTesting; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.GnuParser; @@ -119,6 +120,8 @@ // logger public final static Logger LOG = Logger.getLogger(SLSRunner.class); + private static boolean exitAtTheFinish = true; + /** * The type of trace in input. */ @@ -138,6 +141,11 @@ public SLSRunner(Configuration tempConf) throws ClassNotFoundException { init(tempConf); } + @VisibleForTesting + public static void AvoidExitAtTheFinish() { + exitAtTheFinish = false; + } + private void init(Configuration tempConf) throws ClassNotFoundException { nmMap = new HashMap<>(); queueAppNumMap = new HashMap<>(); @@ -704,6 +712,9 @@ public static void decreaseRemainingApps() { if (remainingApps == 0) { LOG.info("SLSRunner tears down."); + if (exitAtTheFinish) { + System.exit(0); + } } } diff --git hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/TestSLSRunner.java hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/TestSLSRunner.java index b2bc8d5..b7beac5 100644 --- hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/TestSLSRunner.java +++ hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/TestSLSRunner.java @@ -76,6 +76,7 @@ @Test(timeout = 60000) @SuppressWarnings("all") public void testSimulatorRunning() throws Exception { + SLSRunner.AvoidExitAtTheFinish(); Configuration conf = new Configuration(false); long timeTillShutdownInsec = 20L; runSLS(conf, timeTillShutdownInsec);