You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Omkar Vinit Joshi (JIRA)" <ji...@apache.org> on 2013/08/20 03:10:51 UTC

[jira] [Commented] (YARN-1076) RM gets stuck with a reservation, ignoring new containers

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

Omkar Vinit Joshi commented on YARN-1076:
-----------------------------------------

Hi [~maysamyabandeh] did you see this issue by code walk through? or you faced this in your cluster? related YARN-957 ?
                
> RM gets stuck with a reservation, ignoring new containers
> ---------------------------------------------------------
>
>                 Key: YARN-1076
>                 URL: https://issues.apache.org/jira/browse/YARN-1076
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: resourcemanager
>            Reporter: Maysam Yabandeh
>            Priority: Minor
>
> LeafQueue#assignContainers rejects newly available containers if #needContainers returns false:
> {code:java}
>           if (!needContainers(application, priority, required)) {
>             continue;
>           }
> {code}
> When the application has already reserved all the required containers, #needContainers returns false as long as no starvation is reported:
> {code:java}
> return (((starvation + requiredContainers) - reservedContainers) > 0);
> {code}
> where starvation is computed based on the attempts on re-reserving a resource. On the other hand, a resource is re-reserved via #assignContainersOnNode only if it passed the #needContainers precondition:
> {code:java}
>           // Do we need containers at this 'priority'?
>           if (!needContainers(application, priority, required)) {
>             continue;
>           }
>           //.
>           //.
>           //.
>           
>           // Try to schedule
>           CSAssignment assignment =  
>             assignContainersOnNode(clusterResource, node, application, priority, 
>                 null);
> {code}
> In other words, once needContainers returns false due to a reservation, it keeps rejecting newly available resources, since no reservation is ever attempted.

--
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