Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/FairSchedulerPage.java =================================================================== --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/FairSchedulerPage.java (revision 1599314) +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/FairSchedulerPage.java (working copy) @@ -45,8 +45,9 @@ static final float Q_STATS_POS = Q_MAX_WIDTH + 0.05f; static final String Q_END = "left:101%"; static final String Q_GIVEN = "left:0%;background:none;border:1px dashed rgba(0,0,0,0.25)"; - static final String Q_OVER = "background:rgba(255, 140, 0, 0.8)"; - static final String Q_UNDER = "background:rgba(50, 205, 50, 0.8)"; + static final String Q_OVER_MIN_SHARE = "background:rgba(255, 140, 0, 0.8)"; + static final String Q_AT_MAX_SHARE = "background:rgba(204, 0, 0, 0.7)"; + static final String Q_UNDER_MIN_SHARE = "background:rgba(50, 205, 50, 0.8)"; @RequestScoped static class FSQInfo { @@ -74,7 +75,7 @@ ri._("Max Running Applications:", qinfo.getMaxApplications()); } ri._("Fair Share:", qinfo.getFairShare().toString()); - + html._(InfoBlock.class); // clear the info contents so this queue's info doesn't accumulate into another queue's info @@ -96,7 +97,11 @@ for (FairSchedulerQueueInfo info : subQueues) { float capacity = info.getMaxResourcesFraction(); float fairShare = info.getFairShareMemoryFraction(); + float minShare = info.getMinShareMemoryFraction(); + float maxShare = info.getMaxResourcesFraction(); float used = info.getUsedMemoryFraction(); + String color = used > minShare ? Q_OVER_MIN_SHARE : Q_UNDER_MIN_SHARE; + color = used >= maxShare ? Q_AT_MAX_SHARE : color; LI