Kaynağa Gözat

YARN-11699. Diagnostics lacks userlimit info when user capacity has reached its maximum limit (#6849) Contributed by Jiandan Yang.

Signed-off-by: Shilun Fan <slfan1989@apache.org>
Yang Jiandan 11 ay önce
ebeveyn
işleme
167d4c8447

+ 7 - 1
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractLeafQueue.java

@@ -1270,8 +1270,14 @@ public class AbstractLeafQueue extends AbstractCSQueue {
         }
       }
       if (!userAssignable) {
+        String userName = application.getUser();
+        User user = getUser(userName);
+        Resource usedResourceByUser =
+            user == null ? null : user.getUsed(candidates.getPartition());
         application.updateAMContainerDiagnostics(AMState.ACTIVATED,
-            "User capacity has reached its maximum limit.");
+            "User capacity has reached its maximum limit," +
+                " user limit is " + userLimit + ", resource used by " +
+                userName + " is " + usedResourceByUser + ".");
         ActivitiesLogger.APP.recordRejectedAppActivityFromLeafQueue(
             activitiesManager, node, application, application.getPriority(),
             ActivityDiagnosticConstant.QUEUE_HIT_USER_MAX_CAPACITY_LIMIT);