CSQueue, Queue, SchedulerQueue<CSQueue>AbstractManagedParentQueue, ParentQueuepublic abstract class AbstractParentQueue extends AbstractCSQueue
| Modifier and Type | Class | Description |
|---|---|---|
static class |
AbstractParentQueue.QueueCapacityType |
AbstractCSQueue.CapacityConfigType| Modifier and Type | Field | Description |
|---|---|---|
protected java.util.List<CSQueue> |
childQueues |
activitiesManager, authorizer, capacityConfigType, configuredCapacityVectors, configuredMaxCapacityVectors, queueAllocationSettings, queueContext, queueEntity, queueNodeLabelsSettings, queuePath, readLock, writeLock| Constructor | Description |
|---|---|
AbstractParentQueue(CapacitySchedulerQueueContext queueContext,
java.lang.String queueName,
CSQueue parent,
CSQueue old) |
|
AbstractParentQueue(CapacitySchedulerQueueContext queueContext,
java.lang.String queueName,
CSQueue parent,
CSQueue old,
boolean isDynamic) |
| Modifier and Type | Method | Description |
|---|---|---|
void |
apply(org.apache.hadoop.yarn.api.records.Resource cluster,
ResourceCommitRequest<FiCaSchedulerApp,FiCaSchedulerNode> request) |
|
CSAssignment |
assignContainers(org.apache.hadoop.yarn.api.records.Resource clusterResource,
CandidateNodeSet<FiCaSchedulerNode> candidates,
ResourceLimits resourceLimits,
SchedulingMode schedulingMode) |
Assign containers to applications in the queue or it's children (if any).
|
void |
attachContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerApp application,
RMContainer rmContainer) |
Attach a container to this queue
|
void |
collectSchedulerApplications(java.util.Collection<org.apache.hadoop.yarn.api.records.ApplicationAttemptId> apps) |
Adds all applications in the queue and its subqueues to the given collection.
|
void |
completedContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerApp application,
FiCaSchedulerNode node,
RMContainer rmContainer,
org.apache.hadoop.yarn.api.records.ContainerStatus containerStatus,
RMContainerEventType event,
CSQueue completedChildQueue,
boolean sortQueues) |
A container assigned to the queue has completed.
|
CSQueue |
createNewQueue(java.lang.String childQueuePath,
boolean isLeaf) |
|
void |
detachContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerApp application,
RMContainer rmContainer) |
Detach a container from this queue
|
void |
finishApplication(org.apache.hadoop.yarn.api.records.ApplicationId application,
java.lang.String user) |
An application submitted to this queue has finished.
|
void |
finishApplicationAttempt(FiCaSchedulerApp application,
java.lang.String queue) |
An application attempt submitted to this queue has finished.
|
ActiveUsersManager |
getAbstractUsersManager() |
Get the
AbstractUsersManager for the queue. |
AutoCreatedQueueTemplate |
getAutoCreatedQueueTemplate() |
|
AbstractParentQueue.QueueCapacityType |
getCapacityConfigurationTypeForQueues(java.util.Collection<CSQueue> queues) |
|
java.util.List<CSQueue> |
getChildQueues() |
Get child queues
|
java.util.List<CSQueue> |
getChildQueuesByTryLock() |
Get child queues By tryLock.
|
int |
getNumApplications() |
Get the number of applications in the queue.
|
org.apache.hadoop.yarn.api.records.QueueInfo |
getQueueInfo(boolean includeChildQueues,
boolean recursive) |
Get queue information
|
QueueOrderingPolicy |
getQueueOrderingPolicy() |
|
java.util.List<org.apache.hadoop.yarn.api.records.QueueUserACLInfo> |
getQueueUserAclInfo(org.apache.hadoop.security.UserGroupInformation user) |
Get queue ACLs for given
user. |
ResourceLimits |
getResourceLimitsOfChild(CSQueue child,
org.apache.hadoop.yarn.api.records.Resource clusterResource,
ResourceLimits parentLimits,
java.lang.String nodePartition,
boolean netLimit) |
|
boolean |
hasChildQueues() |
|
boolean |
isEligibleForAutoDeletion() |
Checks whether this queue is a dynamic queue and could be deleted.
|
boolean |
isEligibleForAutoQueueCreation() |
Check whether this queue supports adding additional child queues
dynamically.
|
boolean |
isEligibleForLegacyAutoQueueCreation() |
Check whether this queue supports legacy(v1) dynamic child queue creation.
|
void |
recoverContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
SchedulerApplicationAttempt attempt,
RMContainer rmContainer) |
Recover the state of the queue for a given container.
|
void |
refreshAfterResourceCalculation(org.apache.hadoop.yarn.api.records.Resource clusterResource,
ResourceLimits resourceLimits) |
|
void |
reinitialize(CSQueue newlyParsedQueue,
org.apache.hadoop.yarn.api.records.Resource clusterResource) |
Reinitialize the queue.
|
void |
removeChildQueue(CSQueue queue) |
|
protected void |
setDynamicQueueACLProperties() |
|
protected void |
setupQueueConfigs(org.apache.hadoop.yarn.api.records.Resource clusterResource) |
Initialize queue properties that are based on configuration.
|
void |
stopQueue() |
Stop the queue.
|
void |
submitApplication(org.apache.hadoop.yarn.api.records.ApplicationId applicationId,
java.lang.String user,
java.lang.String queue) |
Submit a new application to the queue.
|
void |
submitApplicationAttempt(FiCaSchedulerApp application,
java.lang.String userName) |
Submit an application attempt to the queue.
|
void |
submitApplicationAttempt(FiCaSchedulerApp application,
java.lang.String userName,
boolean isMoveApp) |
Submit an application attempt to the queue.
|
java.lang.String |
toString() |
|
void |
updateClusterResource(org.apache.hadoop.yarn.api.records.Resource clusterResource,
ResourceLimits resourceLimits) |
Update the cluster resource for queues as we add/remove nodes
|
void |
updateClusterResourceLegacyMode(org.apache.hadoop.yarn.api.records.Resource clusterResource,
ResourceLimits resourceLimits) |
|
void |
validateSubmitApplication(org.apache.hadoop.yarn.api.records.ApplicationId applicationId,
java.lang.String userName,
java.lang.String queue) |
Validate submitApplication api so that moveApplication do a pre-check.
|
accept, activateQueue, appFinished, assignContainers, checkConfigTypeIsAbsoluteResource, decPendingResource, decReservedResource, decUsedResource, getAbsoluteCapacity, getAbsoluteMaximumCapacity, getAbsoluteUsedCapacity, getAccessibleNodeLabels, getACLs, getCapacity, getCapacityConfigType, getCapacityOrWeightString, getConfiguredCapacityVector, getConfiguredMaxCapacityVector, getConfiguredNodeLabels, getDefaultApplicationLifetime, getDefaultApplicationPriority, getDefaultAppLifetimeWasSpecifiedInConfig, getDefaultNodeLabelExpression, getEffectiveCapacity, getEffectiveCapacityDown, getEffectiveMaxCapacity, getEffectiveMaxCapacityDown, getIntraQueuePreemptionDisabled, getIntraQueuePreemptionDisabledInHierarchy, getKillableContainers, getLabel, getMaximumAbsoluteResource, getMaximumAllocation, getMaximumApplicationLifetime, getMaximumCapacity, getMaxParallelApps, getMetrics, getMinimumAbsoluteResource, getMinimumAllocation, getMultiNodeSortingPolicyName, getNodeLabelsForQueue, getNumContainers, getParent, getPreemptionDisabled, getPriority, getPrivilegedEntity, getQueueCapacities, getQueueContext, getQueueInfo, getQueueName, getQueuePath, getQueuePathObject, getQueueResourceQuotas, getQueueResourceUsage, getQueueShortName, getReadLock, getState, getTotalKillableResource, getUsedCapacity, getUsedResources, getUserWeights, getWriteLock, hasAccess, incPendingResource, incReservedResource, incUsedResource, isDynamicQueue, isInactiveDynamicQueue, isReservationsContinueLooking, overrideCapacityVectorsForSpecialQueues, parseAndSetDynamicTemplates, recoverDrainingState, releaseResource, setConfiguredMaxCapacityVector, setConfiguredMinCapacityVector, setDynamicQueue, setMaxParallelApps, setMultiNodeSortingPolicyName, setParent, setupConfigurableCapacities, updateAbsoluteCapacities, updateCapacityConfigType, updateConfigurableResourceLimits, updateQueueStateprotected final java.util.List<CSQueue> childQueues
public AbstractParentQueue(CapacitySchedulerQueueContext queueContext, java.lang.String queueName, CSQueue parent, CSQueue old) throws java.io.IOException
java.io.IOExceptionpublic AbstractParentQueue(CapacitySchedulerQueueContext queueContext, java.lang.String queueName, CSQueue parent, CSQueue old, boolean isDynamic) throws java.io.IOException
java.io.IOExceptionprotected void setupQueueConfigs(org.apache.hadoop.yarn.api.records.Resource clusterResource)
throws java.io.IOException
AbstractCSQueuesetupQueueConfigs in class AbstractCSQueueclusterResource - overall resource of the clusterjava.io.IOException - if configuration is set in a way that is inconsistentprotected void setDynamicQueueACLProperties()
setDynamicQueueACLProperties in class AbstractCSQueuepublic AbstractParentQueue.QueueCapacityType getCapacityConfigurationTypeForQueues(java.util.Collection<CSQueue> queues) throws java.io.IOException
java.io.IOExceptionpublic org.apache.hadoop.yarn.api.records.QueueInfo getQueueInfo(boolean includeChildQueues,
boolean recursive)
QueueincludeChildQueues - include child queues?recursive - recursively get child queue information?public java.util.List<org.apache.hadoop.yarn.api.records.QueueUserACLInfo> getQueueUserAclInfo(org.apache.hadoop.security.UserGroupInformation user)
Queueuser.user - usernamepublic java.lang.String toString()
toString in class java.lang.Objectpublic CSQueue createNewQueue(java.lang.String childQueuePath, boolean isLeaf) throws SchedulerDynamicEditException
SchedulerDynamicEditExceptionpublic void removeChildQueue(CSQueue queue) throws SchedulerDynamicEditException
SchedulerDynamicEditExceptionpublic boolean isEligibleForAutoQueueCreation()
public boolean isEligibleForLegacyAutoQueueCreation()
public void reinitialize(CSQueue newlyParsedQueue, org.apache.hadoop.yarn.api.records.Resource clusterResource) throws java.io.IOException
CSQueuenewlyParsedQueue - new queue to re-initalize fromclusterResource - resources in the clusterjava.io.IOException - an I/O exception has occurred.public void submitApplication(org.apache.hadoop.yarn.api.records.ApplicationId applicationId,
java.lang.String user,
java.lang.String queue)
throws org.apache.hadoop.security.AccessControlException
CSQueueapplicationId - the applicationId of the application being submitteduser - user who submitted the applicationqueue - queue to which the application is submittedorg.apache.hadoop.security.AccessControlException - if any acl violation is there.public void validateSubmitApplication(org.apache.hadoop.yarn.api.records.ApplicationId applicationId,
java.lang.String userName,
java.lang.String queue)
throws org.apache.hadoop.security.AccessControlException
CSQueuevalidateSubmitApplication in interface CSQueuevalidateSubmitApplication in class AbstractCSQueueapplicationId - Application IDuserName - User Namequeue - Queue Nameorg.apache.hadoop.security.AccessControlException - if any acl violation is there.public void submitApplicationAttempt(FiCaSchedulerApp application, java.lang.String userName)
CSQueueapplication - application whose attempt is being submitted.userName - userName who submitted the application.public void submitApplicationAttempt(FiCaSchedulerApp application, java.lang.String userName, boolean isMoveApp)
CSQueueapplication - application whose attempt is being submitteduserName - user who submitted the application attemptisMoveApp - is application being moved across the queuepublic void finishApplicationAttempt(FiCaSchedulerApp application, java.lang.String queue)
CSQueueapplication - application attempt.queue - queue.public void finishApplication(org.apache.hadoop.yarn.api.records.ApplicationId application,
java.lang.String user)
CSQueueapplication - applicationId.user - user who submitted the applicationpublic CSAssignment assignContainers(org.apache.hadoop.yarn.api.records.Resource clusterResource, CandidateNodeSet<FiCaSchedulerNode> candidates, ResourceLimits resourceLimits, SchedulingMode schedulingMode)
CSQueueclusterResource - the resource of the cluster.candidates - CandidateNodeSet the nodes that are considered
for the current placement.resourceLimits - how much overall resource of this queue can use.schedulingMode - Type of exclusive check when assign container on a
NodeManager, see SchedulingMode.public ResourceLimits getResourceLimitsOfChild(CSQueue child, org.apache.hadoop.yarn.api.records.Resource clusterResource, ResourceLimits parentLimits, java.lang.String nodePartition, boolean netLimit)
public void completedContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerApp application,
FiCaSchedulerNode node,
RMContainer rmContainer,
org.apache.hadoop.yarn.api.records.ContainerStatus containerStatus,
RMContainerEventType event,
CSQueue completedChildQueue,
boolean sortQueues)
CSQueueclusterResource - the resource of the clusterapplication - application to which the container was assignednode - node on which the container completedrmContainer - completed container,
null if it was just a reservationcontainerStatus - ContainerStatus for the completed
containerevent - event to be sent to the containercompletedChildQueue - CSQueue to reinsert in childQueuessortQueues - indicates whether it should re-sort the queuespublic void refreshAfterResourceCalculation(org.apache.hadoop.yarn.api.records.Resource clusterResource,
ResourceLimits resourceLimits)
public void updateClusterResource(org.apache.hadoop.yarn.api.records.Resource clusterResource,
ResourceLimits resourceLimits)
CSQueueclusterResource - the current cluster resourceresourceLimits - the current ResourceLimitspublic void updateClusterResourceLegacyMode(org.apache.hadoop.yarn.api.records.Resource clusterResource,
ResourceLimits resourceLimits)
public boolean hasChildQueues()
public java.util.List<CSQueue> getChildQueues()
CSQueuepublic java.util.List<CSQueue> getChildQueuesByTryLock()
CSQueuepublic void recoverContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
SchedulerApplicationAttempt attempt,
RMContainer rmContainer)
QueueclusterResource - the resource of the clusterattempt - the application for which the container was allocatedrmContainer - the container that was recovered.public ActiveUsersManager getAbstractUsersManager()
CSQueueAbstractUsersManager for the queue.AbstractUsersManager for the queuepublic void collectSchedulerApplications(java.util.Collection<org.apache.hadoop.yarn.api.records.ApplicationAttemptId> apps)
CSQueueapps - the collection to add the applications topublic void attachContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerApp application,
RMContainer rmContainer)
CSQueueclusterResource - the current cluster resourceapplication - application to which the container was assignedrmContainer - the container to attachpublic void detachContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerApp application,
RMContainer rmContainer)
CSQueueclusterResource - the current cluster resourceapplication - application to which the container was assignedrmContainer - the container to detachpublic int getNumApplications()
CSQueuepublic void apply(org.apache.hadoop.yarn.api.records.Resource cluster,
ResourceCommitRequest<FiCaSchedulerApp,FiCaSchedulerNode> request)
public void stopQueue()
SchedulerQueuepublic QueueOrderingPolicy getQueueOrderingPolicy()
public boolean isEligibleForAutoDeletion()
AbstractCSQueueisEligibleForAutoDeletion in class AbstractCSQueuepublic AutoCreatedQueueTemplate getAutoCreatedQueueTemplate()
Copyright © 2008–2025 Apache Software Foundation. All rights reserved.