[
https://issues.apache.org/jira/browse/YARN-1241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13778967#comment-13778967
]
Sandy Ryza commented on YARN-1241:
----------------------------------
Currently this property works by starting all apps as not runnable, and then
marking some as runnable in the update thread. Because this thread runs only
every half second, app start can be delayed by up to a half second. The
changes required to make the property work for parent queues are a good
opportunity for solving this problem as well.
I propose splitting apps in leaf queues into runnable and non-runnable lists,
and keeping a count of runnable apps in parent queues. Determining an
application's runnability at add-time will only require looking at the size of
the runnable list of the leaf queue and the numRunnable in all the parent
queues.
Then, when an application is removed, we need to check to see whether any
applications can now be made runnable. We find the highest queue in the
hierarchy that's a parent of the application's queue and that was previously at
its maxRunningApps capacity. We go through the apps in all leaf queues under
that queue in order of start time to see if any can be made runnable.
> In Fair Scheduler maxRunningApps does not work for non-leaf queues
> ------------------------------------------------------------------
>
> Key: YARN-1241
> URL: https://issues.apache.org/jira/browse/YARN-1241
> Project: Hadoop YARN
> Issue Type: Bug
> Affects Versions: 2.1.0-beta
> Reporter: Sandy Ryza
> Assignee: Sandy Ryza
>
> Setting the maxRunningApps property on a parent queue should make it that the
> sum of apps in all subqueues can't exceed it
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira