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 ddd35ef..4577b9a 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; @@ -122,6 +123,8 @@ private final static int DEFAULT_MAPPER_PRIORITY = 20; private final static int DEFAULT_REDUCER_PRIORITY = 10; + private static boolean exitAtTheFinish = true; + /** * The type of trace in input. */ @@ -141,6 +144,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<>(); @@ -752,6 +760,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..5f1b573 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);