diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/CapacitySchedulerPage.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/CapacitySchedulerPage.java index a732b3bd5ee..9f16c5bf011 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/CapacitySchedulerPage.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/CapacitySchedulerPage.java @@ -405,8 +405,20 @@ public void render(Block html) { CapacitySchedulerInfo sinfo = new CapacitySchedulerInfo(root, cs); csqinfo.csinfo = sinfo; - if (null == nodeLabelsInfo || (nodeLabelsInfo.size() == 1 - && nodeLabelsInfo.get(0).getLabelName().isEmpty())) { + boolean hasAnyLabelLinkedToNM = false; + if (null != nodeLabelsInfo) { + for (RMNodeLabel label : nodeLabelsInfo) { + if (label.getLabelName().length() == 0) { + // Skip DEFAULT_LABEL + continue; + } + if (label.getNumActiveNMs() > 0) { + hasAnyLabelLinkedToNM = true; + break; + } + } + } + if (!hasAnyLabelLinkedToNM) { used = sinfo.getUsedCapacity() / 100; //label is not enabled in the cluster or there's only "default" label, ul.li().