From 783a01eb4a155044a54a30a636b86b3ab2b33044 Mon Sep 17 00:00:00 2001 From: Sunil G Date: Tue, 9 Jan 2018 16:39:33 +0530 Subject: [PATCH] YARN-7718. DistributedShell failed to specify resource other than memory/vcores from container_resources. Contributed by Wangda Tan. --- .../distributedshell/ApplicationMaster.java | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/ApplicationMaster.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/ApplicationMaster.java index 85496d0619..b35a2c9872 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/ApplicationMaster.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/ApplicationMaster.java @@ -1602,17 +1602,15 @@ public class ApplicationMaster { Resource resourceCapability = Resource.newInstance(containerMemory, containerVirtualCores); - if (resourceProfiles == null) { - containerMemory = containerMemory == -1 ? DEFAULT_CONTAINER_MEMORY : - containerMemory; - containerVirtualCores = - containerVirtualCores == -1 ? DEFAULT_CONTAINER_VCORES : - containerVirtualCores; - resourceCapability.setMemorySize(containerMemory); - resourceCapability.setVirtualCores(containerVirtualCores); - for (Map.Entry entry : containerResources.entrySet()) { - resourceCapability.setResourceValue(entry.getKey(), entry.getValue()); - } + containerMemory = + containerMemory == -1 ? DEFAULT_CONTAINER_MEMORY : containerMemory; + containerVirtualCores = containerVirtualCores == -1 ? + DEFAULT_CONTAINER_VCORES : + containerVirtualCores; + resourceCapability.setMemorySize(containerMemory); + resourceCapability.setVirtualCores(containerVirtualCores); + for (Map.Entry entry : containerResources.entrySet()) { + resourceCapability.setResourceValue(entry.getKey(), entry.getValue()); } String profileName = containerResourceProfile;