Maysam Yabandeh created YARN-1076:
-------------------------------------

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

Reply via email to