SchedulerQueueManager<CSQueue,CapacitySchedulerConfiguration>@Private @Unstable public class CapacitySchedulerQueueManager extends java.lang.Object implements SchedulerQueueManager<CSQueue,CapacitySchedulerConfiguration>
| Constructor | Description |
|---|---|
CapacitySchedulerQueueManager(org.apache.hadoop.conf.Configuration conf,
RMNodeLabelsManager labelManager,
AppPriorityACLsManager appPriorityACLManager) |
Construct the service.
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
addLegacyDynamicQueue(Queue queue) |
Adds an
AutoCreatedLeafQueue to the manager collection and extends
the children collection of its parent. |
void |
addQueue(java.lang.String queueName,
CSQueue queue) |
Add a new queue to the existing queues.
|
AbstractLeafQueue |
createQueue(QueuePath queue) |
Auto creates a LeafQueue and its upper hierarchy given a path at runtime.
|
java.util.List<java.lang.String> |
determineMissingParents(QueuePath queue) |
Determines the missing parent paths of a potentially auto creatable queue.
|
AbstractLeafQueue |
getAndCheckLeafQueue(java.lang.String queue) |
Check that the String provided in input is the name of an existing,
LeafQueue, if successful returns the queue.
|
ConfiguredNodeLabels |
getConfiguredNodeLabelsForAllQueues() |
Get
ConfiguredNodeLabels which contains the configured node labels
for all queues. |
org.apache.hadoop.yarn.api.records.Priority |
getDefaultPriorityForQueue(java.lang.String queueName) |
Get the default priority of the queue.
|
java.util.List<org.apache.hadoop.yarn.security.Permission> |
getPermissionsForDynamicQueue(QueuePath queuePath,
CapacitySchedulerConfiguration csConf) |
|
CSQueue |
getQueue(java.lang.String queueName) |
Get a queue matching the specified queue name.
|
CSQueue |
getQueueByFullName(java.lang.String name) |
|
CapacitySchedulerQueueCapacityHandler |
getQueueCapacityHandler() |
|
java.util.Map<java.lang.String,CSQueue> |
getQueues() |
Get all the queues.
|
QueueStateManager<CSQueue,CapacitySchedulerConfiguration> |
getQueueStateManager() |
|
CSQueue |
getRootQueue() |
Get the root queue.
|
java.util.Map<java.lang.String,CSQueue> |
getShortNameQueues() |
|
void |
initializeQueues(CapacitySchedulerConfiguration conf) |
Initialized the queues.
|
boolean |
isAmbiguous(java.lang.String shortName) |
|
void |
reinitConfiguredNodeLabels(CapacitySchedulerConfiguration conf) |
|
void |
reinitializeQueues(CapacitySchedulerConfiguration newConf) |
Reinitialize the queues.
|
void |
removeLegacyDynamicQueue(java.lang.String queueName) |
Removes an
AutoCreatedLeafQueue from the manager collection and
from its parent children collection. |
void |
removeQueue(java.lang.String queueName) |
Remove the queue from the existing queue.
|
void |
setCapacitySchedulerContext(CapacitySchedulerContext capacitySchedulerContext) |
Set the CapacitySchedulerContext.
|
static void |
setQueueAcls(org.apache.hadoop.yarn.security.YarnAuthorizationProvider authorizer,
AppPriorityACLsManager appPriorityACLManager,
CSQueueStore queues) |
|
protected void |
setRootQueue(CSQueue rootQueue) |
public CapacitySchedulerQueueManager(org.apache.hadoop.conf.Configuration conf,
RMNodeLabelsManager labelManager,
AppPriorityACLsManager appPriorityACLManager)
conf - the configurationlabelManager - the labelManagerappPriorityACLManager - App priority ACL managerpublic CSQueue getRootQueue()
SchedulerQueueManagergetRootQueue in interface SchedulerQueueManager<CSQueue,CapacitySchedulerConfiguration>@VisibleForTesting protected void setRootQueue(CSQueue rootQueue)
public java.util.Map<java.lang.String,CSQueue> getQueues()
SchedulerQueueManagergetQueues in interface SchedulerQueueManager<CSQueue,CapacitySchedulerConfiguration>@VisibleForTesting public java.util.Map<java.lang.String,CSQueue> getShortNameQueues()
public void removeQueue(java.lang.String queueName)
SchedulerQueueManagerremoveQueue in interface SchedulerQueueManager<CSQueue,CapacitySchedulerConfiguration>queueName - the queue namepublic void addQueue(java.lang.String queueName,
CSQueue queue)
SchedulerQueueManageraddQueue in interface SchedulerQueueManager<CSQueue,CapacitySchedulerConfiguration>queueName - the queue namequeue - the queue objectpublic CSQueue getQueue(java.lang.String queueName)
SchedulerQueueManagergetQueue in interface SchedulerQueueManager<CSQueue,CapacitySchedulerConfiguration>queueName - the queue namepublic CSQueue getQueueByFullName(java.lang.String name)
public boolean isAmbiguous(java.lang.String shortName)
public void setCapacitySchedulerContext(CapacitySchedulerContext capacitySchedulerContext)
capacitySchedulerContext - the CapacitySchedulerContextpublic void initializeQueues(CapacitySchedulerConfiguration conf) throws java.io.IOException
conf - the CapacitySchedulerConfigurationjava.io.IOException - if fails to initialize queuespublic void reinitializeQueues(CapacitySchedulerConfiguration newConf) throws java.io.IOException
SchedulerQueueManagerreinitializeQueues in interface SchedulerQueueManager<CSQueue,CapacitySchedulerConfiguration>newConf - the configurationjava.io.IOException - if fails to re-initialize queues@VisibleForTesting
public static void setQueueAcls(org.apache.hadoop.yarn.security.YarnAuthorizationProvider authorizer,
AppPriorityACLsManager appPriorityACLManager,
CSQueueStore queues)
throws java.io.IOException
java.io.IOExceptionpublic AbstractLeafQueue getAndCheckLeafQueue(java.lang.String queue) throws org.apache.hadoop.yarn.exceptions.YarnException
queue - the queue nameorg.apache.hadoop.yarn.exceptions.YarnException - if the queue does not exist or the queue
is not the type of LeafQueue.public org.apache.hadoop.yarn.api.records.Priority getDefaultPriorityForQueue(java.lang.String queueName)
queueName - the queue name@Private public QueueStateManager<CSQueue,CapacitySchedulerConfiguration> getQueueStateManager()
public CapacitySchedulerQueueCapacityHandler getQueueCapacityHandler()
public void removeLegacyDynamicQueue(java.lang.String queueName)
throws SchedulerDynamicEditException
AutoCreatedLeafQueue from the manager collection and
from its parent children collection.queueName - queue to be removedSchedulerDynamicEditException - if queue is not eligible for deletionpublic void addLegacyDynamicQueue(Queue queue) throws SchedulerDynamicEditException, java.io.IOException
AutoCreatedLeafQueue to the manager collection and extends
the children collection of its parent.queue - to be addedSchedulerDynamicEditException - if queue is not eligible to be addedjava.io.IOException - if parent can not accept the queuepublic AbstractLeafQueue createQueue(QueuePath queue) throws org.apache.hadoop.yarn.exceptions.YarnException, java.io.IOException
queue - the application placement information of the queueorg.apache.hadoop.yarn.exceptions.YarnException - if the given path is not eligible to be auto createdjava.io.IOException - if the given path can not be added to the parentpublic java.util.List<java.lang.String> determineMissingParents(QueuePath queue) throws SchedulerDynamicEditException
queue - to be auto createdSchedulerDynamicEditException - if the given queue is not eligible
to be auto createdpublic java.util.List<org.apache.hadoop.yarn.security.Permission> getPermissionsForDynamicQueue(QueuePath queuePath, CapacitySchedulerConfiguration csConf)
public ConfiguredNodeLabels getConfiguredNodeLabelsForAllQueues()
ConfiguredNodeLabels which contains the configured node labels
for all queues.@VisibleForTesting public void reinitConfiguredNodeLabels(CapacitySchedulerConfiguration conf)
Copyright © 2008–2025 Apache Software Foundation. All rights reserved.