hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "zhihai xu (JIRA)" <j...@apache.org>
Subject [jira] [Created] (YARN-4133) Containers to be preempted leaks in FairScheduler preemption logic.
Date Wed, 09 Sep 2015 00:05:45 GMT
zhihai xu created YARN-4133:
-------------------------------

             Summary: Containers to be preempted leaks in FairScheduler preemption logic.
                 Key: YARN-4133
                 URL: https://issues.apache.org/jira/browse/YARN-4133
             Project: Hadoop YARN
          Issue Type: Bug
          Components: fairscheduler
    Affects Versions: 2.7.1
            Reporter: zhihai xu
            Assignee: zhihai xu


Containers to be preempted leaks in FairScheduler preemption logic. It may cause missing preemption
due to containers in {{warnedContainers}} wrongly removed. The problem is in {{preemptResources}}:
There are two issues which can cause containers  wrongly removed from {{warnedContainers}}:
Firstly missing the container state {{RMContainerState.ACQUIRED}} in the condition check:
{code}
(container.getState() == RMContainerState.RUNNING ||
              container.getState() == RMContainerState.ALLOCATED)
{code}
Secondly if  {{isResourceGreaterThanNone(toPreempt)}} return false, we shouldn't remove container
from {{warnedContainers}}, We should only remove container from {{warnedContainers}}, if container
is not in state {{RMContainerState.RUNNING}}, {{RMContainerState.ALLOCATED}} and {{RMContainerState.ACQUIRED}}.
{code}
      if ((container.getState() == RMContainerState.RUNNING ||
              container.getState() == RMContainerState.ALLOCATED) &&
              isResourceGreaterThanNone(toPreempt)) {
        warnOrKillContainer(container);
        Resources.subtractFrom(toPreempt, container.getContainer().getResource());
      } else {
        warnedIter.remove();
      }
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message