YARN-8632. Threads in SLS quit without logging exception. Contributed by Xianghao Lu.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/8563fd67 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/8563fd67 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/8563fd67 Branch: refs/heads/HDFS-12943 Commit: 8563fd67befeb0026a95ae268395baf04cd3c22f Parents: 138b0c1 Author: Yufei Gu <yufei...@apple.com> Authored: Fri Aug 24 11:23:17 2018 -0700 Committer: Yufei Gu <yufei...@apple.com> Committed: Fri Aug 24 11:23:17 2018 -0700 ---------------------------------------------------------------------- .../apache/hadoop/yarn/sls/scheduler/SchedulerMetrics.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/8563fd67/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SchedulerMetrics.java ---------------------------------------------------------------------- diff --git a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SchedulerMetrics.java b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SchedulerMetrics.java index b8bc8be..2957d23 100644 --- a/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SchedulerMetrics.java +++ b/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SchedulerMetrics.java @@ -32,7 +32,6 @@ import java.util.List; import java.util.SortedMap; import java.util.Locale; import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.Lock; @@ -48,6 +47,7 @@ import org.apache.hadoop.classification.InterfaceAudience.Private; import org.apache.hadoop.classification.InterfaceStability.Unstable; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.util.ReflectionUtils; +import org.apache.hadoop.util.concurrent.HadoopScheduledThreadPoolExecutor; import org.apache.hadoop.yarn.api.records.ApplicationId; import org.apache.hadoop.yarn.api.records.Resource; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.AbstractYarnScheduler; @@ -169,7 +169,7 @@ public abstract class SchedulerMetrics { web.start(); // a thread to update histogram timer - pool = new ScheduledThreadPoolExecutor(2); + pool = new HadoopScheduledThreadPoolExecutor(2); pool.scheduleAtFixedRate(new HistogramsRunnable(), 0, 1000, TimeUnit.MILLISECONDS); @@ -518,7 +518,8 @@ public abstract class SchedulerMetrics { @Override public void run() { - if(running) { + SchedulerWrapper wrapper = (SchedulerWrapper) scheduler; + if(running && wrapper.getTracker().getQueueSet() != null) { // all WebApp to get real tracking json String trackingMetrics = web.generateRealTimeTrackingMetrics(); // output --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org