[40/50] [abbrv] hadoop git commit: YARN-7681. Double-check placement constraints in scheduling phase before actual allocation is made. (Weiwei Yang via asuresh)
YARN-7681. Double-check placement constraints in scheduling phase before actual allocation is made. (Weiwei Yang via asuresh) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/30b8d4fc Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/30b8d4fc Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/30b8d4fc Branch: refs/heads/YARN-6592 Commit: 30b8d4fc57bf9d25ef9093bb6c7ef5b2868c3602 Parents: 5df2556 Author: Arun SureshAuthored: Wed Jan 10 09:04:30 2018 -0800 Committer: Arun Suresh Committed: Tue Jan 30 07:53:34 2018 -0800 -- .../scheduler/capacity/CapacityScheduler.java | 23 1 file changed, 23 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/30b8d4fc/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java index e682d0f..d2713c8 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java @@ -124,6 +124,8 @@ import org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.ResourceCo import org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.SchedulerContainer; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.fica.FiCaSchedulerApp; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.fica.FiCaSchedulerNode; +import org.apache.hadoop.yarn.server.resourcemanager.scheduler.constraint.InvalidAllocationTagsQueryException; +import org.apache.hadoop.yarn.server.resourcemanager.scheduler.constraint.PlacementConstraintsUtil; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.AppAddedSchedulerEvent; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.AppAttemptAddedSchedulerEvent; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.AppAttemptRemovedSchedulerEvent; @@ -2574,6 +2576,27 @@ public class CapacityScheduler extends ResourceCommitRequest resourceCommitRequest = createResourceCommitRequest( appAttempt, schedulingRequest, schedulerNode); + +// Validate placement constraint is satisfied before +// committing the request. +try { + if (!PlacementConstraintsUtil.canSatisfyConstraints( + appAttempt.getApplicationId(), + schedulingRequest.getAllocationTags(), + schedulerNode, + rmContext.getPlacementConstraintManager(), + rmContext.getAllocationTagsManager())) { +LOG.debug("Failed to allocate container for application " ++ appAttempt.getApplicationId() + " on node " ++ schedulerNode.getNodeName() ++ " because this allocation violates the" ++ " placement constraint."); +return false; + } +} catch (InvalidAllocationTagsQueryException e) { + LOG.warn("Unable to allocate container", e); + return false; +} return tryCommit(getClusterResource(), resourceCommitRequest, false); } } - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
[40/50] [abbrv] hadoop git commit: YARN-7681. Double-check placement constraints in scheduling phase before actual allocation is made. (Weiwei Yang via asuresh)
YARN-7681. Double-check placement constraints in scheduling phase before actual allocation is made. (Weiwei Yang via asuresh) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/8c9d8de8 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/8c9d8de8 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/8c9d8de8 Branch: refs/heads/YARN-6592 Commit: 8c9d8de88d7842b7b18087fa2980837cdac1fe9a Parents: cc54485 Author: Arun SureshAuthored: Wed Jan 10 09:04:30 2018 -0800 Committer: Sunil G Committed: Tue Jan 23 15:20:23 2018 +0530 -- .../scheduler/capacity/CapacityScheduler.java | 23 1 file changed, 23 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/8c9d8de8/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java index 28b3689..2abadfd 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java @@ -122,6 +122,8 @@ import org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.ResourceCo import org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.SchedulerContainer; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.fica.FiCaSchedulerApp; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.fica.FiCaSchedulerNode; +import org.apache.hadoop.yarn.server.resourcemanager.scheduler.constraint.InvalidAllocationTagsQueryException; +import org.apache.hadoop.yarn.server.resourcemanager.scheduler.constraint.PlacementConstraintsUtil; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.AppAddedSchedulerEvent; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.AppAttemptAddedSchedulerEvent; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.AppAttemptRemovedSchedulerEvent; @@ -2514,6 +2516,27 @@ public class CapacityScheduler extends ResourceCommitRequest resourceCommitRequest = createResourceCommitRequest( appAttempt, schedulingRequest, schedulerNode); + +// Validate placement constraint is satisfied before +// committing the request. +try { + if (!PlacementConstraintsUtil.canSatisfyConstraints( + appAttempt.getApplicationId(), + schedulingRequest.getAllocationTags(), + schedulerNode, + rmContext.getPlacementConstraintManager(), + rmContext.getAllocationTagsManager())) { +LOG.debug("Failed to allocate container for application " ++ appAttempt.getApplicationId() + " on node " ++ schedulerNode.getNodeName() ++ " because this allocation violates the" ++ " placement constraint."); +return false; + } +} catch (InvalidAllocationTagsQueryException e) { + LOG.warn("Unable to allocate container", e); + return false; +} return tryCommit(getClusterResource(), resourceCommitRequest, false); } } - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org