[ https://issues.apache.org/jira/browse/YARN-2726?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14185463#comment-14185463 ]
Hudson commented on YARN-2726: ------------------------------ FAILURE: Integrated in Hadoop-trunk-Commit #6354 (See [https://builds.apache.org/job/Hadoop-trunk-Commit/6354/]) YARN-2726. CapacityScheduler should explicitly log when an accessible label has no capacity. Contributed by Wangda Tan (xgong: rev ce1a4419a6c938447a675c416567db56bf9cb29e) * hadoop-yarn-project/CHANGES.txt * hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerConfiguration.java > 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: Wangda Tan > Priority: Minor > Fix For: 2.6.0 > > Attachments: YARN-2726-20141023-1.patch, YARN-2726-20141023-2.patch > > > 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)