[
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 [[email protected]] 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)