diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/util/resource/ResourceUtils.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/util/resource/ResourceUtils.java index 703f32521ff..df9a2b4ad00 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/util/resource/ResourceUtils.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/util/resource/ResourceUtils.java @@ -341,17 +341,14 @@ private static void initializeResourceTypesIfNeeded(Configuration conf, if (!initializedResources) { synchronized (ResourceUtils.class) { if (!initializedResources) { - if (conf == null) { - conf = new YarnConfiguration(); - } - try { - addResourcesFileToConf(resourceFile, conf); - LOG.debug("Found " + resourceFile + ", adding to configuration"); - } catch (FileNotFoundException fe) { - LOG.debug("Unable to find '" + resourceFile + "'."); + Configuration resConf = conf; + + if (resConf == null) { + resConf = new YarnConfiguration(); } - initializeResourcesMap(conf); + addResourcesFileToConf(resourceFile, resConf); + initializeResourcesMap(resConf); } } } @@ -388,21 +385,17 @@ private static InputStream getConfInputStream(String resourceFile, } private static void addResourcesFileToConf(String resourceFile, - Configuration conf) throws FileNotFoundException { + Configuration conf) { try { InputStream ris = getConfInputStream(resourceFile, conf); LOG.debug("Found " + resourceFile + ", adding to configuration"); conf.addResource(ris); } catch (FileNotFoundException fe) { - throw fe; - } catch (IOException ie) { + LOG.info("Unable to find '" + resourceFile + "'."); + } catch (IOException | YarnException ex) { LOG.fatal("Exception trying to read resource types configuration '" - + resourceFile + "'.", ie); - throw new YarnRuntimeException(ie); - } catch (YarnException ye) { - LOG.fatal("YARN Exception trying to read resource types configuration '" - + resourceFile + "'.", ye); - throw new YarnRuntimeException(ye); + + resourceFile + "'.", ex); + throw new YarnRuntimeException(ex); } } @@ -464,19 +457,19 @@ public static String getUnits(String resourceValue) { private static Map initializeNodeResourceInformation( Configuration conf) { Map nodeResources = new HashMap<>(); - try { - addResourcesFileToConf( - YarnConfiguration.NODE_RESOURCES_CONFIGURATION_FILE, conf); - for (Map.Entry entry : conf) { - String key = entry.getKey(); - String value = entry.getValue(); - if (key.startsWith(YarnConfiguration.NM_RESOURCES_PREFIX)) { - addResourceInformation(key, value, nodeResources); - } + + addResourcesFileToConf(YarnConfiguration.NODE_RESOURCES_CONFIGURATION_FILE, + conf); + + for (Map.Entry entry : conf) { + String key = entry.getKey(); + String value = entry.getValue(); + + if (key.startsWith(YarnConfiguration.NM_RESOURCES_PREFIX)) { + addResourceInformation(key, value, nodeResources); } - } catch (FileNotFoundException fe) { - LOG.info("Couldn't find node resources file"); } + return nodeResources; }