Repository: hadoop Updated Branches: refs/heads/branch-3.0.0 60adf0b8b -> 419a83e13
YARN-7589. TestPBImplRecords fails with NullPointerException. Contributed by Daniel Templeton (cherry picked from commit 25df5054216a6a76d09d9c49984f8075ebc6a197) (cherry picked from commit f222b9d362936621e72c1460d3a9e05e2de4c78b) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/419a83e1 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/419a83e1 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/419a83e1 Branch: refs/heads/branch-3.0.0 Commit: 419a83e1333eb6d4e66a3334dd4c4af33ef77e34 Parents: 60adf0b Author: Jason Lowe <[email protected]> Authored: Fri Dec 1 15:37:36 2017 -0600 Committer: Daniel Templeton <[email protected]> Committed: Fri Dec 1 14:27:54 2017 -0800 ---------------------------------------------------------------------- .../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/419a83e1/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/419a83e1/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 04c2412..e4effdb 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 @@ -345,15 +345,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; } @@ -364,6 +362,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) { @@ -674,6 +677,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]
