@InterfaceAudience.Private @InterfaceStability.Unstable public class AppSchedulingInfo extends Object
| Modifier and Type | Field and Description | 
|---|---|
| ContainerUpdateContext | updateContext | 
| Constructor and Description | 
|---|
| AppSchedulingInfo(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId,
                 String user,
                 Queue queue,
                 AbstractUsersManager abstractUsersManager,
                 long epoch,
                 ResourceUsage appResourceUsage,
                 Map<String,String> applicationSchedulingEnvs,
                 RMContext rmContext) | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addRequestedPartition(String partition) | 
| ContainerRequest | allocate(NodeType type,
        SchedulerNode node,
        org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
        RMContainer containerAllocated) | 
| boolean | canDelayTo(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
          String resourceName)Can delay to next?. | 
| boolean | checkAllocation(NodeType type,
               SchedulerNode node,
               org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey) | 
| void | checkForDeactivation() | 
| void | decPendingResource(String partition,
                  org.apache.hadoop.yarn.api.records.Resource toDecrease) | 
| List<org.apache.hadoop.yarn.api.records.ResourceRequest> | getAllResourceRequests()Used by REST API to fetch ResourceRequest | 
| List<org.apache.hadoop.yarn.api.records.SchedulingRequest> | getAllSchedulingRequests()Fetch SchedulingRequests. | 
| boolean | getAndResetBlacklistChanged() | 
| org.apache.hadoop.yarn.api.records.ApplicationAttemptId | getApplicationAttemptId() | 
| org.apache.hadoop.yarn.api.records.ApplicationId | getApplicationId() | 
| Map<String,String> | getApplicationSchedulingEnvs()Get scheduling envs configured for this application. | 
| <N extends SchedulerNode> | getAppPlacementAllocator(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerkey) | 
| Set<String> | getBlackListCopy() | 
| String | getDefaultNodeLabelExpression()Get the defaultNodeLabelExpression for the application's current queue. | 
| long | getNewContainerId() | 
| PendingAsk | getNextPendingAsk() | 
| PendingAsk | getPendingAsk(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey) | 
| PendingAsk | getPendingAsk(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
             String resourceName) | 
| String | getQueueName() | 
| List<org.apache.hadoop.yarn.api.records.RejectedSchedulingRequest> | getRejectedRequest() | 
| Set<String> | getRequestedPartitions() | 
| RMContext | getRMContext() | 
| Collection<org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey> | getSchedulerKeys() | 
| ContainerUpdateContext | getUpdateContext() | 
| String | getUser() | 
| boolean | isPending() | 
| boolean | isPlaceBlacklisted(String resourceName,
                  boolean blacklistedBySystem)Returns if the place (node/rack today) is either blacklisted by the
 application (user) or the system. | 
| void | move(Queue newQueue) | 
| boolean | precheckNode(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
            SchedulerNode schedulerNode,
            SchedulingMode schedulingMode,
            Optional<DiagnosticsCollector> dcOpt)Pre-check node to see if it satisfy the given schedulerKey and
 scheduler mode. | 
| void | recoverContainer(RMContainer rmContainer,
                String partition) | 
| void | removeAppPlacement(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerRequestKey) | 
| void | setQueue(Queue queue) | 
| void | stop() | 
| void | transferStateFromPreviousAppSchedulingInfo(AppSchedulingInfo appInfo) | 
| static void | updateMetrics(org.apache.hadoop.yarn.api.records.ApplicationId applicationId,
             NodeType type,
             SchedulerNode node,
             RMContainer containerAllocated,
             String user,
             Queue queue) | 
| void | updatePlacesBlacklistedByApp(List<String> blacklistAdditions,
                            List<String> blacklistRemovals)The ApplicationMaster is updating the placesBlacklistedByApp used for
 containers other than AMs. | 
| void | updatePlacesBlacklistedBySystem(List<String> blacklistAdditions,
                               List<String> blacklistRemovals)Update the list of places that are blacklisted by the system. | 
| boolean | updateResourceRequests(List<org.apache.hadoop.yarn.api.records.ResourceRequest> resourceRequests,
                      boolean recoverPreemptedRequestForAContainer)The ApplicationMaster is updating resource requirements for the
 application, by asking for more resources and releasing resources acquired
 by the application. | 
| boolean | updateResourceRequests(Map<org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey,Map<String,org.apache.hadoop.yarn.api.records.ResourceRequest>> dedupRequests,
                      boolean recoverPreemptedRequestForAContainer)The ApplicationMaster is updating resource requirements for the
 application, by asking for more resources and releasing resources acquired
 by the application. | 
| boolean | updateSchedulingRequests(List<org.apache.hadoop.yarn.api.records.SchedulingRequest> schedulingRequests,
                        boolean recoverPreemptedRequestForAContainer)The ApplicationMaster is updating resource requirements for the
 application, by asking for more resources and releasing resources acquired
 by the application. | 
public final ContainerUpdateContext updateContext
public AppSchedulingInfo(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId,
                         String user,
                         Queue queue,
                         AbstractUsersManager abstractUsersManager,
                         long epoch,
                         ResourceUsage appResourceUsage,
                         Map<String,String> applicationSchedulingEnvs,
                         RMContext rmContext)
public org.apache.hadoop.yarn.api.records.ApplicationId getApplicationId()
public org.apache.hadoop.yarn.api.records.ApplicationAttemptId getApplicationAttemptId()
public String getUser()
public long getNewContainerId()
public String getQueueName()
public boolean isPending()
public ContainerUpdateContext getUpdateContext()
public boolean updateResourceRequests(List<org.apache.hadoop.yarn.api.records.ResourceRequest> resourceRequests, boolean recoverPreemptedRequestForAContainer)
resourceRequests - resource requests to be allocatedrecoverPreemptedRequestForAContainer - recover ResourceRequest/SchedulingRequest on preemptionpublic boolean updateResourceRequests(Map<org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey,Map<String,org.apache.hadoop.yarn.api.records.ResourceRequest>> dedupRequests, boolean recoverPreemptedRequestForAContainer)
dedupRequests - (dedup) resource requests to be allocatedrecoverPreemptedRequestForAContainer - recover ResourceRequest/SchedulingRequest on preemptionpublic boolean updateSchedulingRequests(List<org.apache.hadoop.yarn.api.records.SchedulingRequest> schedulingRequests, boolean recoverPreemptedRequestForAContainer)
schedulingRequests - resource requests to be allocatedrecoverPreemptedRequestForAContainer - recover ResourceRequest/SchedulingRequest on preemptionpublic void removeAppPlacement(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerRequestKey)
public void addRequestedPartition(String partition)
public void decPendingResource(String partition, org.apache.hadoop.yarn.api.records.Resource toDecrease)
public void updatePlacesBlacklistedByApp(List<String> blacklistAdditions, List<String> blacklistRemovals)
blacklistAdditions - resources to be added to the userBlacklistblacklistRemovals - resources to be removed from the userBlacklistpublic void updatePlacesBlacklistedBySystem(List<String> blacklistAdditions, List<String> blacklistRemovals)
blacklistAdditions - resources to be added to placesBlacklistedBySystemblacklistRemovals - resources to be removed from placesBlacklistedBySystempublic boolean getAndResetBlacklistChanged()
public Collection<org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey> getSchedulerKeys()
public List<org.apache.hadoop.yarn.api.records.ResourceRequest> getAllResourceRequests()
public List<org.apache.hadoop.yarn.api.records.SchedulingRequest> getAllSchedulingRequests()
public List<org.apache.hadoop.yarn.api.records.RejectedSchedulingRequest> getRejectedRequest()
public PendingAsk getNextPendingAsk()
public PendingAsk getPendingAsk(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey)
public PendingAsk getPendingAsk(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey, String resourceName)
public boolean isPlaceBlacklisted(String resourceName, boolean blacklistedBySystem)
resourceName - the resourcenameblacklistedBySystem - true if it should check amBlacklistpublic ContainerRequest allocate(NodeType type, SchedulerNode node, org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey, RMContainer containerAllocated)
public void checkForDeactivation()
public void move(Queue newQueue)
public void stop()
public void setQueue(Queue queue)
public void transferStateFromPreviousAppSchedulingInfo(AppSchedulingInfo appInfo)
public void recoverContainer(RMContainer rmContainer, String partition)
public boolean checkAllocation(NodeType type, SchedulerNode node, org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey)
public static void updateMetrics(org.apache.hadoop.yarn.api.records.ApplicationId applicationId,
                                 NodeType type,
                                 SchedulerNode node,
                                 RMContainer containerAllocated,
                                 String user,
                                 Queue queue)
public <N extends SchedulerNode> AppPlacementAllocator<N> getAppPlacementAllocator(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerkey)
public boolean canDelayTo(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
                          String resourceName)
schedulerKey - schedulerKeyresourceName - resourceNamepublic boolean precheckNode(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
                            SchedulerNode schedulerNode,
                            SchedulingMode schedulingMode,
                            Optional<DiagnosticsCollector> dcOpt)
schedulerKey - schedulerKeyschedulerNode - schedulerNodeschedulingMode - schedulingModedcOpt - optional diagnostics collectorpublic Map<String,String> getApplicationSchedulingEnvs()
public String getDefaultNodeLabelExpression()
public RMContext getRMContext()
Copyright © 2008–2023 Apache Software Foundation. All rights reserved.