From 7a058425c72f4cb1a3dfd55aeef98918887ad849 Mon Sep 17 00:00:00 2001 From: John Zhuge Date: Wed, 19 Apr 2017 19:08:13 -0700 Subject: [PATCH 1/2] YARN-6501. FSSchedulerNode.java fails to compile with JDK7. Contributed by John Zhuge. --- .../server/resourcemanager/scheduler/fair/FSSchedulerNode.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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/fair/FSSchedulerNode.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSSchedulerNode.java index 663e3c8b3a4..d7ebf927112 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSSchedulerNode.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSSchedulerNode.java @@ -180,8 +180,13 @@ private synchronized void cleanupPreemptionList() { void addContainersForPreemption(Collection containers, FSAppAttempt app) { - appIdToAppMap.putIfAbsent(app.getApplicationAttemptId(), app); - resourcesPreemptedForApp.putIfAbsent(app, Resource.newInstance(0, 0)); + ApplicationAttemptId attempt = app.getApplicationAttemptId(); + if (appIdToAppMap.get(attempt) == null) { + appIdToAppMap.put(attempt, app); + } + if (resourcesPreemptedForApp.get(app) == null) { + resourcesPreemptedForApp.put(app, Resource.newInstance(0, 0)); + } Resource appReserved = resourcesPreemptedForApp.get(app); for(RMContainer container : containers) { -- 2.11.0 (Apple Git-81)