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