Affects Version/s: 2.8.0
Fix Version/s: None
yarn rmadmin -addToClusterNodeLabels "label1(exclusive=false)"
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.