diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairScheduler.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairScheduler.java index 140b4f7..a34fc61 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairScheduler.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairScheduler.java @@ -965,6 +965,8 @@ public Allocation allocate(ApplicationAttemptId appAttemptId, releaseContainers(release, application); synchronized (application) { + application.updateBlacklist(blacklistAdditions, blacklistRemovals); + if (!ask.isEmpty()) { if (LOG.isDebugEnabled()) { LOG.debug("allocate: pre-update" + @@ -994,8 +996,6 @@ public Allocation allocate(ApplicationAttemptId appAttemptId, preemptionContainerIds.add(container.getContainerId()); } - application.updateBlacklist(blacklistAdditions, blacklistRemovals); - List newlyAllocatedContainers = application.pullNewlyAllocatedContainers(); // Record container allocation time