瀏覽代碼

YARN-10705. Misleading DEBUG log for container assignment needs to be removed when the container is actually reserved, not assigned in FairScheduler. Contributed by Siddharth Ahuja.

Peter Bacsko 4 年之前
父節點
當前提交
14a84c47b0

+ 13 - 3
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSLeafQueue.java

@@ -352,9 +352,19 @@ public class FSLeafQueue extends FSQueue {
         continue;
       }
       assigned = sched.assignContainer(node);
-      if (!assigned.equals(none())) {
-        LOG.debug("Assigned container in queue:{} container:{}",
-            getName(), assigned);
+
+      boolean isContainerAssignedOrReserved = !assigned.equals(none());
+      boolean isContainerReserved =
+                assigned.equals(FairScheduler.CONTAINER_RESERVED);
+
+      // check if an assignment or a reservation was made.
+      if (isContainerAssignedOrReserved) {
+        // only log container assignment if there was an actual allocation,
+        // not a reservation.
+        if (!isContainerReserved && LOG.isDebugEnabled()) {
+          LOG.debug("Assigned container in queue:{} container:{}",
+              getName(), assigned);
+        }
         break;
       }
     }