You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tez.apache.org by bi...@apache.org on 2014/02/22 21:31:26 UTC

git commit: TEZ-878. doAssignAll() in TaskScheduler ignores delayedContainers being out of sync with heldContainers (bikas)

Repository: incubator-tez
Updated Branches:
  refs/heads/master 0b04ccf2c -> 1752d553f


TEZ-878. doAssignAll() in TaskScheduler ignores delayedContainers being out of sync with heldContainers (bikas)


Project: http://git-wip-us.apache.org/repos/asf/incubator-tez/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tez/commit/1752d553
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tez/tree/1752d553
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tez/diff/1752d553

Branch: refs/heads/master
Commit: 1752d553f14906312d640b9a8884e2ed9fa0fce8
Parents: 0b04ccf
Author: Bikas Saha <bi...@apache.org>
Authored: Sat Feb 22 12:31:20 2014 -0800
Committer: Bikas Saha <bi...@apache.org>
Committed: Sat Feb 22 12:31:20 2014 -0800

----------------------------------------------------------------------
 .../java/org/apache/tez/dag/app/rm/TaskScheduler.java    | 11 +++++++++++
 1 file changed, 11 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tez/blob/1752d553/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskScheduler.java
----------------------------------------------------------------------
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskScheduler.java b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskScheduler.java
index 6ac9481..775d342 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskScheduler.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskScheduler.java
@@ -1551,6 +1551,17 @@ public class TaskScheduler extends AbstractService
           LOG.debug("Trying to assign all delayed containers to newly received"
             + " tasks");
         }
+        Iterator<HeldContainer> iter = delayedContainers.iterator();
+        while(iter.hasNext()) {
+          HeldContainer delayedContainer = iter.next();
+          if (!heldContainers.containsKey(delayedContainer.getContainer().getId())) {
+            // this container is no longer held by us
+            LOG.info("AssignAll - Skipping delayed container as container is no longer"
+                + " running, containerId="
+                + delayedContainer.getContainer().getId());
+            iter.remove();
+          }
+        }
         assignedContainers = tryAssignReUsedContainers(
           new ContainerIterable(delayedContainers));
       }