Repository: hadoop Updated Branches: refs/heads/branch-3.0 0dd7f1f4e -> f222b9d36
YARN-7589. TestPBImplRecords fails with NullPointerException. Contributed by Daniel Templeton (cherry picked from commit 25df5054216a6a76d09d9c49984f8075ebc6a197) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/f222b9d3 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/f222b9d3 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/f222b9d3 Branch: refs/heads/branch-3.0 Commit: f222b9d362936621e72c1460d3a9e05e2de4c78b Parents: 0dd7f1f Author: Jason Lowe <[email protected]> Authored: Fri Dec 1 15:37:36 2017 -0600 Committer: Jason Lowe <[email protected]> Committed: Fri Dec 1 15:38:57 2017 -0600 ---------------------------------------------------------------------- .../org/apache/hadoop/yarn/api/records/Resource.java | 9 ++++++--- .../hadoop/yarn/util/resource/ResourceUtils.java | 13 +++++++++---- 2 files changed, 15 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/f222b9d3/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java index 5f1455f..2b367bf 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java @@ -100,9 +100,12 @@ public abstract class Resource implements Comparable<Resource> { @Stable public static Resource newInstance(long memory, int vCores, Map<String, Long> others) { - ResourceInformation[] info = ResourceUtils.createResourceTypesArray(others); - - return new LightWeightResource(memory, vCores, info); + if (others != null) { + return new LightWeightResource(memory, vCores, + ResourceUtils.createResourceTypesArray(others)); + } else { + return newInstance(memory, vCores); + } } @InterfaceAudience.Private http://git-wip-us.apache.org/repos/asf/hadoop/blob/f222b9d3/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/util/resource/ResourceUtils.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/util/resource/ResourceUtils.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/util/resource/ResourceUtils.java index 571b73e..c719a4c 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/util/resource/ResourceUtils.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/util/resource/ResourceUtils.java @@ -314,15 +314,13 @@ public class ResourceUtils { } public static ResourceInformation[] getResourceTypesArray() { - initializeResourceTypesIfNeeded(null, - YarnConfiguration.RESOURCE_TYPES_CONFIGURATION_FILE); + initializeResourceTypesIfNeeded(); return resourceTypesArray; } public static int getNumberOfKnownResourceTypes() { if (numKnownResourceTypes < 0) { - initializeResourceTypesIfNeeded(null, - YarnConfiguration.RESOURCE_TYPES_CONFIGURATION_FILE); + initializeResourceTypesIfNeeded(); } return numKnownResourceTypes; } @@ -333,6 +331,11 @@ public class ResourceUtils { YarnConfiguration.RESOURCE_TYPES_CONFIGURATION_FILE); } + private static void initializeResourceTypesIfNeeded() { + initializeResourceTypesIfNeeded(null, + YarnConfiguration.RESOURCE_TYPES_CONFIGURATION_FILE); + } + private static void initializeResourceTypesIfNeeded(Configuration conf, String resourceFile) { if (!initializedResources) { @@ -642,6 +645,8 @@ public class ResourceUtils { */ public static ResourceInformation[] createResourceTypesArray(Map<String, Long> res) { + initializeResourceTypesIfNeeded(); + ResourceInformation[] info = new ResourceInformation[resourceTypes.size()]; for (Entry<String, Integer> entry : RESOURCE_NAME_TO_INDEX.entrySet()) { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
