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/common/fica/FiCaSchedulerApp.java b/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 index cb6ff312406..1d91316f74f 100644 --- a/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 +++ b/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;