hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-2726) CapacityScheduler should explicitly log when an accessible label has no capacity
Date Tue, 28 Oct 2014 13:35:40 GMT

    [ https://issues.apache.org/jira/browse/YARN-2726?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14186824#comment-14186824

Hudson commented on YARN-2726:

FAILURE: Integrated in Hadoop-Mapreduce-trunk #1940 (See [https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1940/])
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
> 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

View raw message