@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–2022 Apache Software Foundation. All rights reserved.