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

Ashwin Shankar commented on YARN-3176:
--------------------------------------

I believe [~ka...@cloudera.com] is right about this jira looking like a 
duplicate. Please look at MaxRunningAppsEnforcer.canAppBeRunnable().
[~l201514], you could already do the following for maxApp inheritance(including 
having a default value) :
1. Remove queueMaxAppsDefault element from your alloc file.
2. Configure root queue in the alloc file and set maxRunningApps to the value 
you used to specify in queueMaxAppsDefault.
3. Configure maxRunningApps at whichever parent you want, which would be 
applied at the parent level and to its children which don't have it set.

Now for any child queue, if there is no maxRunningApps set on it, FS would 
recursively look at its parent's maxRunningApps and try to enforce it on the 
child.
If maxRunningApps is not set for any of the parent node in its ancestry, then 
root's maxRunningApps would take effect, which is basically your default 
maxRunningApps if that makes sense.

Sample alloc :
{code:xml}
<queue name="root">
     <maxRunningApps>$defaultValue<maxRunningApps>
    <queue name="parent1">
            <maxRunningApps>5<maxRunningApps>
            <queue name="childOfParent1" />
   </queue>

      <queue name="parent2">
            <queue name="childOfParent2" />
   </queue>       
{code}

In the alloc above, queue "childOfParent1" will inherit maxRunningApps(=5) from 
parent1, while queue "childOfParent2" will inherit maxRunningApps from root 
queue.(FYI, root queue and root.default queue are auto-created by Fair 
scheduler irrespective of whether user configures it or not)

> In Fair Scheduler, child queue should inherit maxApp from its parent
> --------------------------------------------------------------------
>
>                 Key: YARN-3176
>                 URL: https://issues.apache.org/jira/browse/YARN-3176
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Siqi Li
>            Assignee: Siqi Li
>         Attachments: YARN-3176.v1.patch, YARN-3176.v2.patch
>
>
> if the child queue does not have a maxRunningApp limit, it will use the 
> queueMaxAppsDefault. This behavior is not quite right, since 
> queueMaxAppsDefault is normally a small number, whereas some parent queues do 
> have maxRunningApp set to be more than the default



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to