|
@@ -29,6 +29,7 @@ import org.apache.hadoop.yarn.server.resourcemanager.scheduler.QueueResourceQuot
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceUsage;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceUsage;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity
|
|
.AutoCreatedLeafQueue;
|
|
.AutoCreatedLeafQueue;
|
|
|
|
+import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.QueueCapacities;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.QueueCapacities;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.UserInfo;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.UserInfo;
|
|
@@ -45,6 +46,7 @@ public class CapacitySchedulerLeafQueueInfo extends CapacitySchedulerQueueInfo {
|
|
protected int userLimit;
|
|
protected int userLimit;
|
|
protected UsersInfo users; // To add another level in the XML
|
|
protected UsersInfo users; // To add another level in the XML
|
|
protected float userLimitFactor;
|
|
protected float userLimitFactor;
|
|
|
|
+ protected float configuredMaxAMResourceLimit;
|
|
protected ResourceInfo AMResourceLimit;
|
|
protected ResourceInfo AMResourceLimit;
|
|
protected ResourceInfo usedAMResource;
|
|
protected ResourceInfo usedAMResource;
|
|
protected ResourceInfo userAMResourceLimit;
|
|
protected ResourceInfo userAMResourceLimit;
|
|
@@ -53,15 +55,14 @@ public class CapacitySchedulerLeafQueueInfo extends CapacitySchedulerQueueInfo {
|
|
protected String defaultNodeLabelExpression;
|
|
protected String defaultNodeLabelExpression;
|
|
protected int defaultPriority;
|
|
protected int defaultPriority;
|
|
protected boolean isAutoCreatedLeafQueue;
|
|
protected boolean isAutoCreatedLeafQueue;
|
|
-
|
|
|
|
- @XmlTransient
|
|
|
|
- protected String orderingPolicyInfo;
|
|
|
|
|
|
+ protected long maxApplicationLifetime;
|
|
|
|
+ protected long defaultApplicationLifetime;
|
|
|
|
|
|
CapacitySchedulerLeafQueueInfo() {
|
|
CapacitySchedulerLeafQueueInfo() {
|
|
};
|
|
};
|
|
|
|
|
|
- CapacitySchedulerLeafQueueInfo(LeafQueue q) {
|
|
|
|
- super(q);
|
|
|
|
|
|
+ CapacitySchedulerLeafQueueInfo(CapacityScheduler cs, LeafQueue q) {
|
|
|
|
+ super(cs, q);
|
|
numActiveApplications = q.getNumActiveApplications();
|
|
numActiveApplications = q.getNumActiveApplications();
|
|
numPendingApplications = q.getNumPendingApplications();
|
|
numPendingApplications = q.getNumPendingApplications();
|
|
numContainers = q.getNumContainers();
|
|
numContainers = q.getNumContainers();
|
|
@@ -70,6 +71,7 @@ public class CapacitySchedulerLeafQueueInfo extends CapacitySchedulerQueueInfo {
|
|
userLimit = q.getUserLimit();
|
|
userLimit = q.getUserLimit();
|
|
users = new UsersInfo(q.getUsersManager().getUsersInfo());
|
|
users = new UsersInfo(q.getUsersManager().getUsersInfo());
|
|
userLimitFactor = q.getUserLimitFactor();
|
|
userLimitFactor = q.getUserLimitFactor();
|
|
|
|
+ configuredMaxAMResourceLimit = q.getMaxAMResourcePerQueuePercent();
|
|
AMResourceLimit = new ResourceInfo(q.getAMResourceLimit());
|
|
AMResourceLimit = new ResourceInfo(q.getAMResourceLimit());
|
|
usedAMResource = new ResourceInfo(q.getQueueResourceUsage().getAMUsed());
|
|
usedAMResource = new ResourceInfo(q.getQueueResourceUsage().getAMUsed());
|
|
preemptionDisabled = q.getPreemptionDisabled();
|
|
preemptionDisabled = q.getPreemptionDisabled();
|
|
@@ -91,6 +93,8 @@ public class CapacitySchedulerLeafQueueInfo extends CapacitySchedulerQueueInfo {
|
|
if ( q instanceof AutoCreatedLeafQueue) {
|
|
if ( q instanceof AutoCreatedLeafQueue) {
|
|
isAutoCreatedLeafQueue = true;
|
|
isAutoCreatedLeafQueue = true;
|
|
}
|
|
}
|
|
|
|
+ defaultApplicationLifetime = q.getDefaultApplicationLifetime();
|
|
|
|
+ maxApplicationLifetime = q.getMaximumApplicationLifetime();
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -133,6 +137,10 @@ public class CapacitySchedulerLeafQueueInfo extends CapacitySchedulerQueueInfo {
|
|
return users;
|
|
return users;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public float getConfiguredMaxAMResourceLimit() {
|
|
|
|
+ return configuredMaxAMResourceLimit;
|
|
|
|
+ }
|
|
|
|
+
|
|
public float getUserLimitFactor() {
|
|
public float getUserLimitFactor() {
|
|
return userLimitFactor;
|
|
return userLimitFactor;
|
|
}
|
|
}
|
|
@@ -156,10 +164,6 @@ public class CapacitySchedulerLeafQueueInfo extends CapacitySchedulerQueueInfo {
|
|
public boolean getIntraQueuePreemptionDisabled() {
|
|
public boolean getIntraQueuePreemptionDisabled() {
|
|
return intraQueuePreemptionDisabled;
|
|
return intraQueuePreemptionDisabled;
|
|
}
|
|
}
|
|
-
|
|
|
|
- public String getOrderingPolicyInfo() {
|
|
|
|
- return orderingPolicyInfo;
|
|
|
|
- }
|
|
|
|
|
|
|
|
public String getDefaultNodeLabelExpression() {
|
|
public String getDefaultNodeLabelExpression() {
|
|
return defaultNodeLabelExpression;
|
|
return defaultNodeLabelExpression;
|
|
@@ -172,4 +176,12 @@ public class CapacitySchedulerLeafQueueInfo extends CapacitySchedulerQueueInfo {
|
|
public boolean isAutoCreatedLeafQueue() {
|
|
public boolean isAutoCreatedLeafQueue() {
|
|
return isAutoCreatedLeafQueue;
|
|
return isAutoCreatedLeafQueue;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public long getDefaultApplicationLifetime() {
|
|
|
|
+ return defaultApplicationLifetime;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public long getMaxApplicationLifetime() {
|
|
|
|
+ return maxApplicationLifetime;
|
|
|
|
+ }
|
|
}
|
|
}
|