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

Resource bar of Capacity Scheduler UI does not show correctly

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Duplicate
    • Affects Version/s: 2.8.0
    • Fix Version/s: None
    • Component/s: capacityscheduler
    • Labels:
      None

      Description

      Test Environment:
      1. NodeLable
      yarn rmadmin -addToClusterNodeLabels "label1(exclusive=false)"
      2. capacity-scheduler.xml
      yarn.scheduler.capacity.root.queues=a,b
      yarn.scheduler.capacity.root.a.capacity=60
      yarn.scheduler.capacity.root.b.capacity=40
      yarn.scheduler.capacity.root.a.accessible-node-labels=label1
      yarn.scheduler.capacity.root.accessible-node-labels.label1.capacity=100
      yarn.scheduler.capacity.root.a.accessible-node-labels.label1.capacity=100

      In this test case, for queue(root.b) in partition(label1), the resource bar(represents absolute-max-capacity) should be 100%(default). The scheduler UI shows correctly after RM started, but when I started an app in queue(root.b) and partition(label1) , the resource bar of this queue is changed from 100% to 0%.

      For corrent queue(root.a), the queueCapacities of partition(label1) was inited in ParentQueue/LeafQueue constructor and max-capacity/absolute-max-capacity were setted with correct value, due to yarn.scheduler.capacity.root.a.accessible-node-labels is defined in capacity-scheduler.xml

      For incorrent queue(root.b), the queueCapacities of partition(label1) didn't exist at first, the max-capacity and absolute-max-capacity were setted with default value(100%) in PartitionQueueCapacitiesInfo so that Scheduler UI could show correctly. When this queue was allocating resource for partition(label1), the queueCapacities of partition(label1) was created and only used-capacity and absolute-used-capacity were setted in AbstractCSQueue#allocateResource. max-capacity and absolute-max-capacity have to use float default value 0 which are defined in QueueCapacities$Capacities.

      Whether max-capacity and absolute-max-capacity should have default value(100%) in Capacities constructor to avoid losing default value if somewhere called not given?
      Please feel free to give your suggestions.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                Tao Yang Tao Yang
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: