[ https://issues.apache.org/jira/browse/YARN-2726?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wangda Tan updated YARN-2726: ----------------------------- Issue Type: Sub-task (was: Improvement) Parent: YARN-2492 > CapacityScheduler should explicitly log when an accessible label has no > capacity > -------------------------------------------------------------------------------- > > Key: YARN-2726 > URL: https://issues.apache.org/jira/browse/YARN-2726 > Project: Hadoop YARN > Issue Type: Sub-task > Components: capacityscheduler > Reporter: Phil D'Amore > Assignee: Naganarasimha G R > Priority: Minor > > Given: > - Node label defined: test-label > - Two queues defined: a, b > - label accessibility and and capacity defined as follows (properties > abbreviated for readability): > root.a.accessible-node-labels = test-label > root.a.accessible-node-labels.test-label.capacity = 100 > If you restart the RM or do a 'rmadmin -refreshQueues' you will get a stack > trace with the following error buried within: > "Illegal capacity of -1.0 for label=test-label in queue=root.b" > This of course occurs because test-label is accessible to b due to > inheritance from the root, and -1 is the UNDEFINED value. To my mind this > might not be obvious to the admin, and the error message which results does > not help guide someone to the source of the issue. > I propose that this situation be updated so that when the capacity on an > accessible label is undefined, it is explicitly called out instead of falling > through to the illegal capacity check. Something like: > {code} > if (capacity == UNDEFINED) { > throw new IllegalArgumentException("Configuration issue: " + " label=" + > label + " is accessible from queue=" + queue + " but has no capacity set."); > } > {code} > I'll leave it to better judgement than mine as to whether I'm throwing the > appropriate exception there. I think this check should be added to both > getNodeLabelCapacities and getMaximumNodeLabelCapacities in > CapacitySchedulerConfiguration.java. -- This message was sent by Atlassian JIRA (v6.3.4#6332)