org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity
Interface CSQueue

All Superinterfaces:
Queue
All Known Implementing Classes:
LeafQueue, ParentQueue

@InterfaceStability.Stable
@InterfaceAudience.Private
public interface CSQueue
extends Queue

CSQueue represents a node in the tree of hierarchical queues in the CapacityScheduler.


Method Summary
 CSAssignment assignContainers(org.apache.hadoop.yarn.api.records.Resource clusterResource, FiCaSchedulerNode node)
          Assign containers to applications in the queue or it's children (if any).
 void completedContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource, FiCaSchedulerApp application, FiCaSchedulerNode node, RMContainer container, org.apache.hadoop.yarn.api.records.ContainerStatus containerStatus, RMContainerEventType event, CSQueue childQueue)
          A container assigned to the queue has completed.
 void finishApplication(FiCaSchedulerApp application, String queue)
          An application submitted to this queue has finished.
 float getAbsoluteCapacity()
          Get capacity of the parent of the queue as a function of the cumulative capacity in the cluster.
 float getAbsoluteMaximumCapacity()
          Get maximum-capacity of the queue as a funciton of the cumulative capacity of the cluster.
 float getAbsoluteUsedCapacity()
          Get the current absolute used capacity of the queue relative to the entire cluster.
 ActiveUsersManager getActiveUsersManager()
          Get the ActiveUsersManager for the queue.
 float getCapacity()
          Get the configured capacity of the queue.
 List<CSQueue> getChildQueues()
          Get child queues
 float getMaximumCapacity()
          Get the configured maximum-capacity of the queue.
 int getNumApplications()
          Get the number of applications in the queue.
 CSQueue getParent()
          Get the parent Queue.
 String getQueueName()
          Get the queue name.
 String getQueuePath()
          Get the full name of the queue, including the heirarchy.
 org.apache.hadoop.yarn.api.records.QueueState getState()
          Get the current run-state of the queue
 float getUsedCapacity()
          Get the current used capacity of the queue and it's children (if any).
 org.apache.hadoop.yarn.api.records.Resource getUsedResources()
          Get the currently utilized resources in the cluster by the queue and children (if any).
 boolean hasAccess(org.apache.hadoop.yarn.api.records.QueueACL acl, org.apache.hadoop.security.UserGroupInformation user)
          Check if the user has permission to perform the operation
 void recoverContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource, FiCaSchedulerApp application, org.apache.hadoop.yarn.api.records.Container container)
          Recover the state of the queue
 void reinitialize(CSQueue newlyParsedQueue, org.apache.hadoop.yarn.api.records.Resource clusterResource)
          Reinitialize the queue.
 void setAbsoluteUsedCapacity(float absUsedCapacity)
          Set absolute used capacity of the queue.
 void setParent(CSQueue newParentQueue)
          Set the parent Queue.
 void setUsedCapacity(float usedCapacity)
          Set used capacity of the queue.
 void submitApplication(FiCaSchedulerApp application, String user, String queue)
          Submit a new application to the queue.
 void updateClusterResource(org.apache.hadoop.yarn.api.records.Resource clusterResource)
          Update the cluster resource for queues as we add/remove nodes
 
Methods inherited from interface org.apache.hadoop.yarn.server.resourcemanager.scheduler.Queue
getMetrics, getQueueInfo, getQueueUserAclInfo
 

Method Detail

getParent

CSQueue getParent()
Get the parent Queue.

Returns:
the parent queue

setParent

void setParent(CSQueue newParentQueue)
Set the parent Queue.

Parameters:
newParentQueue - new parent queue

getQueueName

String getQueueName()
Get the queue name.

Specified by:
getQueueName in interface Queue
Returns:
the queue name

getQueuePath

String getQueuePath()
Get the full name of the queue, including the heirarchy.

Returns:
the full name of the queue

getCapacity

float getCapacity()
Get the configured capacity of the queue.

Returns:
queue capacity

getAbsoluteCapacity

float getAbsoluteCapacity()
Get capacity of the parent of the queue as a function of the cumulative capacity in the cluster.

Returns:
capacity of the parent of the queue as a function of the cumulative capacity in the cluster

getMaximumCapacity

float getMaximumCapacity()
Get the configured maximum-capacity of the queue.

Returns:
the configured maximum-capacity of the queue

getAbsoluteMaximumCapacity

float getAbsoluteMaximumCapacity()
Get maximum-capacity of the queue as a funciton of the cumulative capacity of the cluster.

Returns:
maximum-capacity of the queue as a funciton of the cumulative capacity of the cluster

getAbsoluteUsedCapacity

float getAbsoluteUsedCapacity()
Get the current absolute used capacity of the queue relative to the entire cluster.

Returns:
queue absolute used capacity

getUsedCapacity

float getUsedCapacity()
Get the current used capacity of the queue and it's children (if any).

Returns:
queue used capacity

setUsedCapacity

void setUsedCapacity(float usedCapacity)
Set used capacity of the queue.

Parameters:
usedCapacity - used capacity of the queue

setAbsoluteUsedCapacity

void setAbsoluteUsedCapacity(float absUsedCapacity)
Set absolute used capacity of the queue.

Parameters:
absUsedCapacity - absolute used capacity of the queue

getUsedResources

org.apache.hadoop.yarn.api.records.Resource getUsedResources()
Get the currently utilized resources in the cluster by the queue and children (if any).

Returns:
used resources by the queue and it's children

getState

org.apache.hadoop.yarn.api.records.QueueState getState()
Get the current run-state of the queue

Returns:
current run-state

getChildQueues

List<CSQueue> getChildQueues()
Get child queues

Returns:
child queues

hasAccess

boolean hasAccess(org.apache.hadoop.yarn.api.records.QueueACL acl,
                  org.apache.hadoop.security.UserGroupInformation user)
Check if the user has permission to perform the operation

Specified by:
hasAccess in interface Queue
Parameters:
acl - ACL
user - user
Returns:
true if the user has the permission, false otherwise

submitApplication

void submitApplication(FiCaSchedulerApp application,
                       String user,
                       String queue)
                       throws org.apache.hadoop.security.AccessControlException
Submit a new application to the queue.

Parameters:
application - application being submitted
user - user who submitted the application
queue - queue to which the application is submitted
Throws:
org.apache.hadoop.security.AccessControlException

finishApplication

void finishApplication(FiCaSchedulerApp application,
                       String queue)
An application submitted to this queue has finished.

Parameters:
application -
queue - application queue

assignContainers

CSAssignment assignContainers(org.apache.hadoop.yarn.api.records.Resource clusterResource,
                              FiCaSchedulerNode node)
Assign containers to applications in the queue or it's children (if any).

Parameters:
clusterResource - the resource of the cluster.
node - node on which resources are available
Returns:
the assignment

completedContainer

void completedContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
                        FiCaSchedulerApp application,
                        FiCaSchedulerNode node,
                        RMContainer container,
                        org.apache.hadoop.yarn.api.records.ContainerStatus containerStatus,
                        RMContainerEventType event,
                        CSQueue childQueue)
A container assigned to the queue has completed.

Parameters:
clusterResource - the resource of the cluster
application - application to which the container was assigned
node - node on which the container completed
container - completed container, null if it was just a reservation
containerStatus - ContainerStatus for the completed container
childQueue - CSQueue to reinsert in childQueues
event - event to be sent to the container

getNumApplications

int getNumApplications()
Get the number of applications in the queue.

Returns:
number of applications

reinitialize

void reinitialize(CSQueue newlyParsedQueue,
                  org.apache.hadoop.yarn.api.records.Resource clusterResource)
                  throws IOException
Reinitialize the queue.

Parameters:
newlyParsedQueue - new queue to re-initalize from
clusterResource - resources in the cluster
Throws:
IOException

updateClusterResource

void updateClusterResource(org.apache.hadoop.yarn.api.records.Resource clusterResource)
Update the cluster resource for queues as we add/remove nodes

Parameters:
clusterResource - the current cluster resource

getActiveUsersManager

ActiveUsersManager getActiveUsersManager()
Get the ActiveUsersManager for the queue.

Returns:
the ActiveUsersManager for the queue

recoverContainer

void recoverContainer(org.apache.hadoop.yarn.api.records.Resource clusterResource,
                      FiCaSchedulerApp application,
                      org.apache.hadoop.yarn.api.records.Container container)
Recover the state of the queue

Parameters:
clusterResource - the resource of the cluster
application - the application for which the container was allocated
container - the container that was recovered.


Copyright © 2014 Apache Software Foundation. All Rights Reserved.