diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/RegisterApplicationMasterResponse.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/RegisterApplicationMasterResponse.java index ca507d0..5815710 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/RegisterApplicationMasterResponse.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/RegisterApplicationMasterResponse.java @@ -51,24 +51,10 @@ public static RegisterApplicationMasterResponse newInstance( Map acls) { RegisterApplicationMasterResponse response = Records.newRecord(RegisterApplicationMasterResponse.class); - response.setMinimumResourceCapability(minCapability); response.setMaximumResourceCapability(maxCapability); response.setApplicationACLs(acls); return response; } - - /** - * Get the minimum capability for any {@link Resource} allocated by the - * ResourceManager in the cluster. - * @return minimum capability of allocated resources in the cluster - */ - @Public - @Stable - public abstract Resource getMinimumResourceCapability(); - - @Private - @Unstable - public abstract void setMinimumResourceCapability(Resource capability); /** * Get the maximum capability for any {@link Resource} allocated by the diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/RegisterApplicationMasterResponsePBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/RegisterApplicationMasterResponsePBImpl.java index aeeba99..cca989b 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/RegisterApplicationMasterResponsePBImpl.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/RegisterApplicationMasterResponsePBImpl.java @@ -42,7 +42,6 @@ RegisterApplicationMasterResponseProto.Builder builder = null; boolean viaProto = false; - private Resource minimumResourceCapability; private Resource maximumResourceCapability; private Map applicationACLS = null; @@ -91,10 +90,6 @@ private void mergeLocalToProto() { } private void mergeLocalToBuilder() { - if (this.minimumResourceCapability != null) { - builder.setMinimumCapability( - convertToProtoFormat(this.minimumResourceCapability)); - } if (this.maximumResourceCapability != null) { builder.setMaximumCapability( convertToProtoFormat(this.maximumResourceCapability)); @@ -128,21 +123,6 @@ public Resource getMaximumResourceCapability() { } @Override - public Resource getMinimumResourceCapability() { - if (this.minimumResourceCapability != null) { - return this.minimumResourceCapability; - } - - RegisterApplicationMasterResponseProtoOrBuilder p = viaProto ? proto : builder; - if (!p.hasMinimumCapability()) { - return null; - } - - this.minimumResourceCapability = convertFromProtoFormat(p.getMinimumCapability()); - return this.minimumResourceCapability; - } - - @Override public void setMaximumResourceCapability(Resource capability) { maybeInitBuilder(); if(maximumResourceCapability == null) { @@ -152,16 +132,6 @@ public void setMaximumResourceCapability(Resource capability) { } @Override - public void setMinimumResourceCapability(Resource capability) { - maybeInitBuilder(); - if(minimumResourceCapability == null) { - builder.clearMinimumCapability(); - } - this.minimumResourceCapability = capability; - } - - - @Override public Map getApplicationACLs() { initApplicationACLs(); return this.applicationACLS; diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/proto/yarn_service_protos.proto hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/proto/yarn_service_protos.proto index a06b0ac..eacd191 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/proto/yarn_service_protos.proto +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/proto/yarn_service_protos.proto @@ -35,9 +35,8 @@ message RegisterApplicationMasterRequestProto { } message RegisterApplicationMasterResponseProto { - optional ResourceProto minimumCapability = 1; - optional ResourceProto maximumCapability = 2; - repeated ApplicationACLMapProto application_ACLs = 3; + optional ResourceProto maximumCapability = 1; + repeated ApplicationACLMapProto application_ACLs = 2; } message FinishApplicationMasterRequestProto { diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/ApplicationMaster.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/ApplicationMaster.java index f645837..3b68999 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/ApplicationMaster.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/ApplicationMaster.java @@ -461,22 +461,11 @@ public boolean run() throws YarnException, IOException { appMasterTrackingUrl); // Dump out information about cluster capability as seen by the // resource manager - int minMem = response.getMinimumResourceCapability().getMemory(); int maxMem = response.getMaximumResourceCapability().getMemory(); - LOG.info("Min mem capabililty of resources in this cluster " + minMem); LOG.info("Max mem capabililty of resources in this cluster " + maxMem); - // A resource ask has to be atleast the minimum of the capability of the - // cluster, the value has to be a multiple of the min value and cannot - // exceed the max. - // If it is not an exact multiple of min, the RM will allocate to the - // nearest multiple of min - if (containerMemory < minMem) { - LOG.info("Container memory specified below min threshold of cluster." - + " Using min value." + ", specified=" + containerMemory + ", min=" - + minMem); - containerMemory = minMem; - } else if (containerMemory > maxMem) { + // A resource ask cannot exceed the max. + if (containerMemory > maxMem) { LOG.info("Container memory specified above max threshold of cluster." + " Using max value." + ", specified=" + containerMemory + ", max=" + maxMem); diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ClusterInfo.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ClusterInfo.java index 58554c6..7c75e2a 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ClusterInfo.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ClusterInfo.java @@ -22,32 +22,16 @@ import org.apache.hadoop.yarn.util.Records; public class ClusterInfo { - private Resource minContainerCapability; private Resource maxContainerCapability; public ClusterInfo() { - this.minContainerCapability = Records.newRecord(Resource.class); this.maxContainerCapability = Records.newRecord(Resource.class); } public ClusterInfo(Resource maxCapability) { - this.minContainerCapability = Records.newRecord(Resource.class); this.maxContainerCapability = maxCapability; } - public ClusterInfo(Resource minCapability, Resource maxCapability) { - this.minContainerCapability = minCapability; - this.maxContainerCapability = maxCapability; - } - - public Resource getMinContainerCapability() { - return minContainerCapability; - } - - public void setMinContainerCapability(Resource minContainerCapability) { - this.minContainerCapability = minContainerCapability; - } - public Resource getMaxContainerCapability() { return maxContainerCapability; } diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java index b72a7f6..49bca54 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java @@ -209,8 +209,6 @@ public RegisterApplicationMasterResponse registerApplicationMaster( // Pick up min/max resource from scheduler... RegisterApplicationMasterResponse response = recordFactory .newRecordInstance(RegisterApplicationMasterResponse.class); - response.setMinimumResourceCapability(rScheduler - .getMinimumResourceCapability()); response.setMaximumResourceCapability(rScheduler .getMaximumResourceCapability()); response.setApplicationACLs(app.getRMAppAttempt(applicationAttemptId)