From 896b8c6551b1dd57c09caa2df0e46f9f9000179e Mon Sep 17 00:00:00 2001 From: Gera Shegalov Date: Fri, 10 Jul 2015 17:43:53 -0700 Subject: [PATCH] YARN-3917. getResourceCalculatorPlugin for the default should intercept all exceptions. (gera) (cherry picked from commit d7319dee37ea93f1a1ba4153ea63ea8010ba2441) --- hadoop-yarn-project/CHANGES.txt | 3 +++ .../hadoop/yarn/util/ResourceCalculatorPlugin.java | 9 +++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index b25e7009c3b..6e027d26d73 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -568,6 +568,9 @@ Release 2.8.0 - UNRELEASED YARN-3849. Too much of preemption activity causing continuos killing of containers across queues. (Sunil G via wangda) + YARN-3917. getResourceCalculatorPlugin for the default should intercept all + exceptions. (gera) + Release 2.7.2 - UNRELEASED INCOMPATIBLE CHANGES diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/ResourceCalculatorPlugin.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/ResourceCalculatorPlugin.java index 21724a9f49e..3af4aee8456 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/ResourceCalculatorPlugin.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/ResourceCalculatorPlugin.java @@ -17,6 +17,8 @@ */ package org.apache.hadoop.yarn.util; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; import org.apache.hadoop.conf.Configuration; @@ -30,6 +32,8 @@ import org.apache.hadoop.util.SysInfo; @InterfaceAudience.LimitedPrivate({"YARN", "MAPREDUCE"}) @InterfaceStability.Unstable public class ResourceCalculatorPlugin extends Configured { + private static final Log LOG = + LogFactory.getLog(ResourceCalculatorPlugin.class); private final SysInfo sys; @@ -158,9 +162,10 @@ public class ResourceCalculatorPlugin extends Configured { } try { return new ResourceCalculatorPlugin(); - } catch (SecurityException e) { - return null; + } catch (Throwable t) { + LOG.warn(t + ": Failed to instantiate default resource calculator.", t); } + return null; } }