Uploaded image for project: 'Hadoop YARN'
  1. Hadoop YARN
  2. YARN-11146

Can't create 0 resources leafqueue in absolute mode

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • capacityscheduler
    • 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;
      } 

      Attachments

        Activity

          People

            Unassigned Unassigned
            zilong zhu Zilong Zhu
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: