Просмотр исходного кода

YARN-7699. queueUsagePercentage is coming as INF for getApp REST api call. Contributed by Sunil G.

(cherry picked from commit 281350674c70d65233363849a8b60e9b7dc965cf)
Rohith Sharma K S 7 лет назад
Родитель
Сommit
37a8224101

+ 7 - 4
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/common/fica/FiCaSchedulerApp.java

@@ -995,14 +995,17 @@ public class FiCaSchedulerApp extends SchedulerApplicationAttempt {
               getAppAMNodePartitionName(), cluster);
       ResourceCalculator calc =
           rmContext.getScheduler().getResourceCalculator();
+      float queueUsagePerc = 0.0f;
       if (!calc.isInvalidDivisor(totalPartitionRes)) {
         float queueAbsMaxCapPerPartition =
             ((AbstractCSQueue) getQueue()).getQueueCapacities()
                 .getAbsoluteCapacity(getAppAMNodePartitionName());
-        float queueUsagePerc = calc.divide(totalPartitionRes,
-            report.getUsedResources(),
-            Resources.multiply(totalPartitionRes, queueAbsMaxCapPerPartition))
-            * 100;
+        if (queueAbsMaxCapPerPartition != 0) {
+          queueUsagePerc = calc.divide(totalPartitionRes,
+              report.getUsedResources(),
+              Resources.multiply(totalPartitionRes, queueAbsMaxCapPerPartition))
+              * 100;
+        }
         report.setQueueUsagePercentage(queueUsagePerc);
       }
       return report;