Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
I can't create 0 resources leafqueue ([memory=0,vcores=0]) in absoulte mode. For example:
root.prod = [memory=2048,vcores=2]
root.prod.prod_default = [memory=0,vcores=0]
I got Exception:
refreshQueues: java.io.IOException: Failed to re-init queues : Parent queue 'prod' and child queue 'prod_default' should use either percentage based capacity configuration or absolute resource together. at org.apache.hadoop.yarn.ipc.RPCUtil.getRemoteException(RPCUtil.java:38) at org.apache.hadoop.yarn.server.resourcemanager.AdminService.logAndWrapException(AdminService.java:920) at org.apache.hadoop.yarn.server.resourcemanager.AdminService.refreshQueues(AdminService.java:406) at org.apache.hadoop.yarn.server.api.impl.pb.service.ResourceManagerAdministrationProtocolPBServiceImpl.refreshQueues(ResourceManagerAdministrationProtocolPBServiceImpl.java:114) at org.apache.hadoop.yarn.proto.ResourceManagerAdministrationProtocol$ResourceManagerAdministrationProtocolService$2.callBlockingMethod(ResourceManagerAdministrationProtocol.java:271) at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:507) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1034) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:1003) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:931) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:2012) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2854)
I found root.prod.prod_default its CapacityConfigType was considered to be
PERCENTAGE.
if (this.capacityConfigType.equals(CapacityConfigType.NONE)) { this.capacityConfigType = (!minResource.equals(Resources.none()) && queueCapacities.getAbsoluteCapacity(label) == 0f) ? CapacityConfigType.ABSOLUTE_RESOURCE : CapacityConfigType.PERCENTAGE; }