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