diff --git a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java index ddd35ef4754..15e650e2332 100644 --- a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java +++ b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java @@ -132,37 +132,13 @@ private TraceType inputType; private SynthTraceJobProducer stjp; - public SLSRunner() throws ClassNotFoundException { - Configuration tempConf = new Configuration(false); - init(tempConf); - } - public SLSRunner(Configuration tempConf) throws ClassNotFoundException { - init(tempConf); - } - - private void init(Configuration tempConf) throws ClassNotFoundException { + // In case it is not called by ToolRunner.run, setConf here for unit tests. + setConf(tempConf); nmMap = new HashMap<>(); queueAppNumMap = new HashMap<>(); amMap = new ConcurrentHashMap<>(); amClassMap = new HashMap<>(); - - // runner configuration - tempConf.addResource("sls-runner.xml"); - super.setConf(tempConf); - - // runner - int poolSize = tempConf.getInt(SLSConfiguration.RUNNER_POOL_SIZE, - SLSConfiguration.RUNNER_POOL_SIZE_DEFAULT); - SLSRunner.runner.setQueueSize(poolSize); - // map - for (Map.Entry e : tempConf) { - String key = e.getKey().toString(); - if (key.startsWith(SLSConfiguration.AM_TYPE)) { - String amType = key.substring(SLSConfiguration.AM_TYPE.length()); - amClassMap.put(amType, Class.forName(tempConf.get(key))); - } - } } public void setSimulationParams(TraceType inType, String[] inTraces, @@ -180,6 +156,22 @@ public void setSimulationParams(TraceType inType, String[] inTraces, public void start() throws IOException, ClassNotFoundException, YarnException, InterruptedException { + // runner configuration + getConf().addResource("sls-runner.xml"); + + // runner + int poolSize = getConf().getInt(SLSConfiguration.RUNNER_POOL_SIZE, + SLSConfiguration.RUNNER_POOL_SIZE_DEFAULT); + SLSRunner.runner.setQueueSize(poolSize); + // map + for (Map.Entry e : getConf()) { + String key = e.getKey().toString(); + if (key.startsWith(SLSConfiguration.AM_TYPE)) { + String amType = key.substring(SLSConfiguration.AM_TYPE.length()); + amClassMap.put(amType, Class.forName(getConf().get(key))); + } + } + // start resource manager startRM(); // start node managers @@ -848,7 +840,8 @@ public int run(final String[] argv) throws IOException, InterruptedException, } public static void main(String[] argv) throws Exception { - ToolRunner.run(new Configuration(), new SLSRunner(), argv); + Configuration conf = new Configuration(); + ToolRunner.run(conf, new SLSRunner(conf), argv); } static void printUsage() {