@InterfaceAudience.Private @InterfaceStability.Unstable public class FSParentQueue extends FSQueue
parent, policy, recordFactory, scheduler
Constructor and Description |
---|
FSParentQueue(String name,
FairScheduler scheduler,
FSParentQueue parent) |
Modifier and Type | Method and Description |
---|---|
void |
addChildQueue(FSQueue child) |
org.apache.hadoop.yarn.api.records.Resource |
assignContainer(FSSchedulerNode node)
Assign a container on this node if possible, and return the amount of
resources assigned.
|
void |
collectSchedulerApplications(Collection<org.apache.hadoop.yarn.api.records.ApplicationAttemptId> apps)
Adds all applications in the queue and its subqueues to the given collection.
|
void |
decrementRunnableApps() |
ActiveUsersManager |
getActiveUsersManager() |
List<FSQueue> |
getChildQueues()
Gets the children of this queue, if any.
|
org.apache.hadoop.yarn.api.records.Resource |
getDemand()
Maximum number of resources required by this Schedulable.
|
int |
getNumRunnableApps()
Return the number of apps for which containers can be allocated.
|
List<org.apache.hadoop.yarn.api.records.QueueUserACLInfo> |
getQueueUserAclInfo(org.apache.hadoop.security.UserGroupInformation user)
Get queue ACLs for given
user . |
org.apache.hadoop.yarn.api.records.Resource |
getResourceUsage()
Get the aggregate amount of resources consumed by the schedulable.
|
void |
incrementRunnableApps() |
RMContainer |
preemptContainer()
Preempt a container from this Schedulable if possible.
|
void |
recomputeShares()
Recomputes the shares for all child queues and applications based on this
queue's current share
|
void |
recomputeSteadyShares() |
void |
recoverContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
SchedulerApplicationAttempt schedulerAttempt,
RMContainer rmContainer)
Recover the state of the queue for a given container.
|
void |
removeChildQueue(FSQueue child) |
void |
setPolicy(SchedulingPolicy policy) |
void |
updateDemand()
Refresh the Schedulable's demand and those of its children if any.
|
void |
updatePreemptionVariables()
Update the min/fair share preemption timeouts and threshold for this queue.
|
assignContainerPreCheck, canBePreempted, decPendingResource, decReservedResource, fitsInMaxShare, getAccessibleNodeLabels, getDefaultApplicationPriority, getDefaultNodeLabelExpression, getFairShare, getFairSharePreemptionThreshold, getFairSharePreemptionTimeout, getMaxShare, getMetrics, getMinShare, getMinSharePreemptionTimeout, getName, getParent, getPolicy, getPriority, getQueueInfo, getQueueName, getQueueStatistics, getStartTime, getSteadyFairShare, getWeights, hasAccess, incPendingResource, incReservedResource, isActive, setFairShare, setFairSharePreemptionThreshold, setFairSharePreemptionTimeout, setMinSharePreemptionTimeout, setSteadyFairShare, throwPolicyDoesnotApplyException, toString
public FSParentQueue(String name, FairScheduler scheduler, FSParentQueue parent)
public void addChildQueue(FSQueue child)
public void removeChildQueue(FSQueue child)
public void recomputeShares()
FSQueue
recomputeShares
in class FSQueue
public void recomputeSteadyShares()
public void updatePreemptionVariables()
FSQueue
updatePreemptionVariables
in class FSQueue
public org.apache.hadoop.yarn.api.records.Resource getDemand()
Schedulable
public org.apache.hadoop.yarn.api.records.Resource getResourceUsage()
Schedulable
public void updateDemand()
Schedulable
public List<org.apache.hadoop.yarn.api.records.QueueUserACLInfo> getQueueUserAclInfo(org.apache.hadoop.security.UserGroupInformation user)
Queue
user
.user
- usernamepublic org.apache.hadoop.yarn.api.records.Resource assignContainer(FSSchedulerNode node)
Schedulable
public RMContainer preemptContainer()
Schedulable
public List<FSQueue> getChildQueues()
FSQueue
getChildQueues
in class FSQueue
public void setPolicy(SchedulingPolicy policy) throws AllocationConfigurationException
setPolicy
in class FSQueue
AllocationConfigurationException
public void incrementRunnableApps()
public void decrementRunnableApps()
public int getNumRunnableApps()
FSQueue
getNumRunnableApps
in class FSQueue
public void collectSchedulerApplications(Collection<org.apache.hadoop.yarn.api.records.ApplicationAttemptId> apps)
FSQueue
collectSchedulerApplications
in class FSQueue
apps
- the collection to add the applications topublic ActiveUsersManager getActiveUsersManager()
public void recoverContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource, SchedulerApplicationAttempt schedulerAttempt, RMContainer rmContainer)
Queue
clusterResource
- the resource of the clusterschedulerAttempt
- the application for which the container was allocatedrmContainer
- the container that was recovered.Copyright © 2017 Apache Software Foundation. All Rights Reserved.