[ https://issues.apache.org/jira/browse/YARN-2883?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15172264#comment-15172264 ]
Arun Suresh commented on YARN-2883: ----------------------------------- On going thru the patch again, I feel a better (and safer) way to introduce the changes is * to extend both the {{ContainerManagerImpl}} and the {{ContainersMonitorImpl}} classes into two new subclasses {{QueuedContainerManager}} and {{QueuedContainersManager}} * Then we can move all the required data structures (all the new collections) as well as the Event Handlers into the new classes. * We can also get rid of all the {{if context.isDistributedSchedulingEnabled()}} checks. Since we would need to do it only once in the {{NodeManager}} when we create the instance of the {{ContainerManager}} * We can also reason about the code flow better since we the changes would be isolated to the new classes. > Queuing of container requests in the NM > --------------------------------------- > > Key: YARN-2883 > URL: https://issues.apache.org/jira/browse/YARN-2883 > Project: Hadoop YARN > Issue Type: Sub-task > Components: nodemanager, resourcemanager > Reporter: Konstantinos Karanasos > Assignee: Konstantinos Karanasos > Attachments: YARN-2883-yarn-2877.001.patch > > > We propose to add a queue in each NM, where queueable container requests can > be held. > Based on the available resources in the node and the containers in the queue, > the NM will decide when to allow the execution of a queued container. > In order to ensure the instantaneous start of a guaranteed-start container, > the NM may decide to pre-empt/kill running queueable containers. -- This message was sent by Atlassian JIRA (v6.3.4#6332)