@InterfaceAudience.Private @InterfaceStability.Evolving public class ParentQueue extends AbstractCSQueue
Modifier and Type | Field and Description |
---|---|
protected List<CSQueue> |
childQueues |
activitiesManager, authorizer, csContext, queueEntity, readLock, writeLock
Constructor and Description |
---|
ParentQueue(CapacitySchedulerContext cs,
String queueName,
CSQueue parent,
CSQueue old) |
Modifier and Type | Method and 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,
PlacementSet<FiCaSchedulerNode> ps,
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(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.
|
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,
String user)
An application submitted to this queue has finished.
|
void |
finishApplicationAttempt(FiCaSchedulerApp application,
String queue)
An application attempt submitted to this queue has finished.
|
ActiveUsersManager |
getAbstractUsersManager()
Get the
AbstractUsersManager for the queue. |
List<CSQueue> |
getChildQueues()
Get child queues
|
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() |
List<org.apache.hadoop.yarn.api.records.QueueUserACLInfo> |
getQueueUserAclInfo(org.apache.hadoop.security.UserGroupInformation user)
Get queue ACLs for given
user . |
boolean |
hasChildQueues() |
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 |
reinitialize(CSQueue newlyParsedQueue,
org.apache.hadoop.yarn.api.records.Resource clusterResource)
Reinitialize the queue.
|
protected void |
setupQueueConfigs(org.apache.hadoop.yarn.api.records.Resource clusterResource) |
void |
stopQueue()
Stop the queue.
|
void |
submitApplication(org.apache.hadoop.yarn.api.records.ApplicationId applicationId,
String user,
String queue)
Submit a new application to the queue.
|
void |
submitApplicationAttempt(FiCaSchedulerApp application,
String userName)
Submit an application attempt to the queue.
|
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 |
validateSubmitApplication(org.apache.hadoop.yarn.api.records.ApplicationId applicationId,
String userName,
String queue)
Validate submitApplication api so that moveApplication do a pre-check.
|
accept, accessibleToPartition, activeQueue, appFinished, assignContainers, decPendingResource, decReservedResource, decUsedResource, getAbsoluteCapacity, getAbsoluteMaximumCapacity, getAbsoluteUsedCapacity, getAccessibleNodeLabels, getACLs, getCapacity, getDefaultApplicationLifetime, getDefaultApplicationPriority, getDefaultAppLifetimeWasSpecifiedInConfig, getDefaultNodeLabelExpression, getIntraQueuePreemptionDisabled, getIntraQueuePreemptionDisabledInHierarchy, getKillableContainers, getMaximumAllocation, getMaximumApplicationLifetime, getMaximumCapacity, getMetrics, getMinimumAllocation, getNodeLabelsForQueue, getNumContainers, getParent, getPreemptionDisabled, getPriority, getPrivilegedEntity, getQueueCapacities, getQueueConfigurations, getQueueInfo, getQueueName, getQueuePath, getQueueResourceUsage, getQueueStatistics, getReadLock, getReservationContinueLooking, getState, getTotalKillableResource, getUsedCapacity, getUsedResources, getUserWeights, hasAccess, incPendingResource, incReservedResource, incUsedResource, releaseResource, setParent, setupConfigurableCapacities, updateQueueState
public ParentQueue(CapacitySchedulerContext cs, String queueName, CSQueue parent, CSQueue old) throws IOException
IOException
protected void setupQueueConfigs(org.apache.hadoop.yarn.api.records.Resource clusterResource) throws IOException
IOException
public org.apache.hadoop.yarn.api.records.QueueInfo getQueueInfo(boolean includeChildQueues, boolean recursive)
Queue
includeChildQueues
- include child queues?recursive
- recursively get child queue information?public List<org.apache.hadoop.yarn.api.records.QueueUserACLInfo> getQueueUserAclInfo(org.apache.hadoop.security.UserGroupInformation user)
Queue
user
.user
- usernamepublic void reinitialize(CSQueue newlyParsedQueue, org.apache.hadoop.yarn.api.records.Resource clusterResource) throws IOException
CSQueue
newlyParsedQueue
- new queue to re-initalize fromclusterResource
- resources in the clusterIOException
public void submitApplication(org.apache.hadoop.yarn.api.records.ApplicationId applicationId, String user, String queue) throws org.apache.hadoop.security.AccessControlException
CSQueue
applicationId
- the applicationId of the application being submitteduser
- user who submitted the applicationqueue
- queue to which the application is submittedorg.apache.hadoop.security.AccessControlException
public void validateSubmitApplication(org.apache.hadoop.yarn.api.records.ApplicationId applicationId, String userName, String queue) throws org.apache.hadoop.security.AccessControlException
CSQueue
validateSubmitApplication
in interface CSQueue
validateSubmitApplication
in class AbstractCSQueue
applicationId
- Application IDuserName
- User Namequeue
- Queue Nameorg.apache.hadoop.security.AccessControlException
- if any acl violation is there.public void submitApplicationAttempt(FiCaSchedulerApp application, String userName)
CSQueue
public void finishApplicationAttempt(FiCaSchedulerApp application, String queue)
CSQueue
public void finishApplication(org.apache.hadoop.yarn.api.records.ApplicationId application, String user)
CSQueue
user
- user who submitted the applicationpublic CSAssignment assignContainers(org.apache.hadoop.yarn.api.records.Resource clusterResource, PlacementSet<FiCaSchedulerNode> ps, ResourceLimits resourceLimits, SchedulingMode schedulingMode)
CSQueue
clusterResource
- the resource of the cluster.ps
- PlacementSet
of nodes which resources are availableresourceLimits
- how much overall resource of this queue can use.schedulingMode
- Type of exclusive check when assign container on a
NodeManager, see SchedulingMode
.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)
CSQueue
clusterResource
- 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 updateClusterResource(org.apache.hadoop.yarn.api.records.Resource clusterResource, ResourceLimits resourceLimits)
CSQueue
clusterResource
- the current cluster resourceresourceLimits
- the current ResourceLimitspublic boolean hasChildQueues()
hasChildQueues
in class AbstractCSQueue
public List<CSQueue> getChildQueues()
CSQueue
public void recoverContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource, SchedulerApplicationAttempt attempt, RMContainer rmContainer)
Queue
clusterResource
- the resource of the clusterattempt
- the application for which the container was allocatedrmContainer
- the container that was recovered.public ActiveUsersManager getAbstractUsersManager()
CSQueue
AbstractUsersManager
for the queue.AbstractUsersManager
for the queuepublic void collectSchedulerApplications(Collection<org.apache.hadoop.yarn.api.records.ApplicationAttemptId> apps)
CSQueue
apps
- the collection to add the applications topublic void attachContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource, FiCaSchedulerApp application, RMContainer rmContainer)
CSQueue
clusterResource
- 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)
CSQueue
clusterResource
- the current cluster resourceapplication
- application to which the container was assignedrmContainer
- the container to detachpublic int getNumApplications()
CSQueue
public void apply(org.apache.hadoop.yarn.api.records.Resource cluster, ResourceCommitRequest<FiCaSchedulerApp,FiCaSchedulerNode> request)
public void stopQueue()
SchedulerQueue
public QueueOrderingPolicy getQueueOrderingPolicy()
Copyright © 2022 Apache Software Foundation. All rights reserved.