YARN-9685: NPE when rendering the info table of leaf queue in non-accessible partitions. Contributed by Tao Yang.
This commit is contained in:
parent
397a5633af
commit
3b38f2019e
|
@ -157,10 +157,12 @@ class CapacitySchedulerPage extends RmView {
|
|||
: resourceUsages.getAmUsed();
|
||||
ri.
|
||||
__("Used Capacity:",
|
||||
appendPercent(resourceUsages.getUsed().toString(),
|
||||
appendPercent(resourceUsages.getUsed(),
|
||||
capacities.getUsedCapacity() / 100))
|
||||
.__("Configured Capacity:",
|
||||
capacities.getConfiguredMinResource().toString())
|
||||
capacities.getConfiguredMinResource() == null ?
|
||||
Resources.none().toString() :
|
||||
capacities.getConfiguredMinResource().toString())
|
||||
.__("Configured Max Capacity:",
|
||||
(capacities.getConfiguredMaxResource() == null
|
||||
|| capacities.getConfiguredMaxResource().getResource()
|
||||
|
@ -168,10 +170,10 @@ class CapacitySchedulerPage extends RmView {
|
|||
? "unlimited"
|
||||
: capacities.getConfiguredMaxResource().toString())
|
||||
.__("Effective Capacity:",
|
||||
appendPercent(capacities.getEffectiveMinResource().toString(),
|
||||
appendPercent(capacities.getEffectiveMinResource(),
|
||||
capacities.getCapacity() / 100))
|
||||
.__("Effective Max Capacity:",
|
||||
appendPercent(capacities.getEffectiveMaxResource().toString(),
|
||||
appendPercent(capacities.getEffectiveMaxResource(),
|
||||
capacities.getMaxCapacity() / 100))
|
||||
.__("Absolute Used Capacity:",
|
||||
percent(capacities.getAbsoluteUsedCapacity() / 100))
|
||||
|
@ -320,6 +322,8 @@ class CapacitySchedulerPage extends RmView {
|
|||
boolean isAutoCreatedLeafQueue = info.isLeafQueue() ?
|
||||
((CapacitySchedulerLeafQueueInfo) info).isAutoCreatedLeafQueue()
|
||||
: false;
|
||||
float capPercent = absMaxCap == 0 ? 0 : absCap/absMaxCap;
|
||||
float usedCapPercent = absMaxCap == 0 ? 0 : absUsedCap/absMaxCap;
|
||||
|
||||
String Q_WIDTH = width(absMaxCap * Q_MAX_WIDTH);
|
||||
LI<UL<Hamlet>> li = ul.
|
||||
|
@ -328,9 +332,9 @@ class CapacitySchedulerPage extends RmView {
|
|||
Q_WIDTH)
|
||||
: Q_WIDTH).
|
||||
$title(join("Absolute Capacity:", percent(absCap))).
|
||||
span().$style(join(Q_GIVEN, ";font-size:1px;", width(absCap/absMaxCap))).
|
||||
span().$style(join(Q_GIVEN, ";font-size:1px;", width(capPercent))).
|
||||
__('.').__().
|
||||
span().$style(join(width(absUsedCap/absMaxCap),
|
||||
span().$style(join(width(usedCapPercent),
|
||||
";font-size:1px;left:0%;", absUsedCap > absCap ? Q_OVER : Q_UNDER)).
|
||||
__('.').__().
|
||||
span(".q", "Queue: "+info.getQueuePath().substring(5)).__().
|
||||
|
@ -658,8 +662,12 @@ class CapacitySchedulerPage extends RmView {
|
|||
return QueuesBlock.class;
|
||||
}
|
||||
|
||||
static String appendPercent(String message, float f) {
|
||||
return message + " (" + StringUtils.formatPercent(f, 1) + ")";
|
||||
static String appendPercent(ResourceInfo resourceInfo, float f) {
|
||||
if (resourceInfo == null) {
|
||||
return "";
|
||||
}
|
||||
return resourceInfo.toString() + " ("
|
||||
+ StringUtils.formatPercent(f, 1) + ")";
|
||||
}
|
||||
|
||||
static String percent(float f) {
|
||||
|
|
|
@ -136,7 +136,8 @@ public class PartitionQueueCapacitiesInfo {
|
|||
}
|
||||
|
||||
public ResourceInfo getConfiguredMaxResource() {
|
||||
if (configuredMaxResource.getResource().equals(Resources.none())) {
|
||||
if (configuredMaxResource == null
|
||||
|| configuredMaxResource.getResource().equals(Resources.none())) {
|
||||
return null;
|
||||
}
|
||||
return configuredMaxResource;
|
||||
|
|
Loading…
Reference in New Issue