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

Resource bar of Capacity Scheduler UI does not show correctly

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Duplicate
    • 2.8.0
    • None
    • capacityscheduler
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: