@InterfaceAudience.Private @InterfaceStability.Unstable public class FiCaSchedulerApp extends SchedulerApplicationAttempt
SchedulerApplicationAttempt.AMState
appAMNodePartitionName, appSchedulingInfo, attemptId, attemptOpportunisticResourceUsage, attemptResourceUsage, attemptResourceUsageAllocatedRemotely, isStopped, lastMemoryAggregateAllocationUpdateTime, lastScheduledContainer, liveContainers, newlyAllocatedContainers, newlyDecreasedContainers, newlyDemotedContainers, newlyIncreasedContainers, newlyPromotedContainers, queue, readLock, reservedContainers, rmContext, tempContainerToKill, updateContainerErrors, updatedNMTokens, writeLock
Constructor and Description |
---|
FiCaSchedulerApp(org.apache.hadoop.yarn.api.records.ApplicationAttemptId applicationAttemptId,
String user,
Queue queue,
AbstractUsersManager abstractUsersManager,
RMContext rmContext) |
FiCaSchedulerApp(org.apache.hadoop.yarn.api.records.ApplicationAttemptId applicationAttemptId,
String user,
Queue queue,
AbstractUsersManager abstractUsersManager,
RMContext rmContext,
org.apache.hadoop.yarn.api.records.Priority appPriority,
boolean isAttemptRecovering) |
FiCaSchedulerApp(org.apache.hadoop.yarn.api.records.ApplicationAttemptId applicationAttemptId,
String user,
Queue queue,
AbstractUsersManager abstractUsersManager,
RMContext rmContext,
org.apache.hadoop.yarn.api.records.Priority appPriority,
boolean isAttemptRecovering,
ActivitiesManager activitiesManager) |
Modifier and Type | Method and Description |
---|---|
boolean |
accept(org.apache.hadoop.yarn.api.records.Resource cluster,
ResourceCommitRequest<FiCaSchedulerApp,FiCaSchedulerNode> request) |
RMContainer |
allocate(FiCaSchedulerNode node,
org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
org.apache.hadoop.yarn.api.records.Container container) |
boolean |
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 currentResourceLimits,
SchedulingMode schedulingMode,
RMContainer reservedContainer) |
boolean |
containerCompleted(RMContainer rmContainer,
org.apache.hadoop.yarn.api.records.ContainerStatus containerStatus,
RMContainerEventType event,
String partition) |
boolean |
equals(Object o) |
RMContainer |
findNodeToUnreserve(org.apache.hadoop.yarn.api.records.Resource clusterResource,
FiCaSchedulerNode node,
org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
org.apache.hadoop.yarn.api.records.Resource minimumUnreservedResource) |
protected void |
getActivedAppDiagnosticMessage(StringBuilder diagnosticMessage) |
Allocation |
getAllocation(org.apache.hadoop.yarn.util.resource.ResourceCalculator resourceCalculator,
org.apache.hadoop.yarn.api.records.Resource clusterResource,
org.apache.hadoop.yarn.api.records.Resource minimumAllocation)
This method produces an Allocation that includes the current view
of the resources that will be allocated to and preempted from this
application.
|
LeafQueue |
getCSLeafQueue() |
org.apache.hadoop.yarn.api.records.Resource |
getHeadroom()
Get available headroom in terms of resources for the application's user.
|
org.apache.hadoop.yarn.api.records.NodeId |
getNodeIdToUnreserve(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
org.apache.hadoop.yarn.api.records.Resource resourceNeedUnreserve,
org.apache.hadoop.yarn.util.resource.ResourceCalculator rc,
org.apache.hadoop.yarn.api.records.Resource clusterResource) |
protected void |
getPendingAppDiagnosticMessage(StringBuilder diagnosticMessage) |
org.apache.hadoop.yarn.api.records.ApplicationResourceUsageReport |
getResourceUsageReport()
Recalculates the per-app, percent of queue metric, specific to the
Capacity Scheduler.
|
SchedulingPlacementSet<FiCaSchedulerNode> |
getSchedulingPlacementSet(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerRequestKey) |
Map<String,org.apache.hadoop.yarn.api.records.Resource> |
getTotalPendingRequestsPerPartition() |
ReentrantReadWriteLock.WriteLock |
getWriteLock() |
int |
hashCode() |
void |
markContainerForPreemption(org.apache.hadoop.yarn.api.records.ContainerId cont) |
boolean |
moveReservation(RMContainer reservedContainer,
FiCaSchedulerNode sourceNode,
FiCaSchedulerNode targetNode)
Move reservation from one node to another
Comparing to unreserve container on source node and reserve a new
container on target node.
|
void |
nodePartitionUpdated(RMContainer rmContainer,
String oldPartition,
String newPartition) |
void |
reserve(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
FiCaSchedulerNode node,
RMContainer rmContainer,
org.apache.hadoop.yarn.api.records.Container container,
boolean reReservation) |
void |
setHeadroomProvider(CapacityHeadroomProvider headroomProvider) |
void |
transferStateFromPreviousAttempt(SchedulerApplicationAttempt appAttempt) |
boolean |
unreserve(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey,
FiCaSchedulerNode node,
RMContainer rmContainer) |
void |
updateAppSkipNodeDiagnostics(String message)
Set the message temporarily if the reason is known for why scheduling did
not happen for a given node, if not message will be over written
|
void |
updateNodeInfoForAMDiagnostics(FiCaSchedulerNode node) |
addMissedNonPartitionedRequestSchedulingOpportunity, addReReservation, addRMContainer, addSchedulingOpportunity, addToNewlyAllocatedContainers, addToNewlyDecreasedContainers, addToNewlyDemotedContainers, addToUpdateContainerErrors, compareInputOrderTo, containerLaunchedOnNode, decUnconfirmedRes, getAMResource, getAMResource, getAppAMNodePartitionName, getAppAttemptResourceUsage, getApplicationAttemptId, getApplicationId, getAppSchedulingInfo, getBlacklistedNodes, getCurrentConsumption, getCurrentReservation, getId, getLastScheduledContainer, getLiveContainers, getLiveContainersMap, getNewContainerId, getNumReservedContainers, getOpportunisticContainerContext, getOutstandingAsksCount, getOutstandingAsksCount, getPartition, getPendingAsk, getPendingRelease, getPriority, getQueue, getQueueName, getReReservations, getReservedContainers, getRMContainer, getSchedulerKeys, getSchedulingOpportunities, getSchedulingResourceUsage, getUnmanagedAM, getUpdateContext, getUser, hasPendingResourceRequest, incNumAllocatedContainers, incUnconfirmedRes, isAmRunning, isPending, isPlaceBlacklisted, isRecovering, isStopped, isWaitingForAMContainer, move, pullNewlyAllocatedContainers, pullNewlyDecreasedContainers, pullNewlyDemotedContainers, pullNewlyIncreasedContainers, pullNewlyPromotedContainers, pullUpdateContainerErrors, pullUpdatedNMTokens, recordContainerAllocationTime, recordContainerRequestTime, recoverContainer, recoverResourceRequestsForContainer, removeRMContainer, reserve, reserveIncreasedContainer, resetMissedNonPartitionedRequestSchedulingOpportunity, resetReReservations, resetSchedulingOpportunities, resetSchedulingOpportunities, setAMResource, setAMResource, setAmRunning, setAppAMNodePartitionName, setApplicationHeadroomForMetrics, setAttemptRecovering, setHeadroom, setOpportunisticContainerContext, setPriority, showRequests, stop, subtractSchedulingOpportunity, updateAMContainerDiagnostics, updateBlacklist, updateNMTokens, updateResourceRequests
public FiCaSchedulerApp(org.apache.hadoop.yarn.api.records.ApplicationAttemptId applicationAttemptId, String user, Queue queue, AbstractUsersManager abstractUsersManager, RMContext rmContext)
public FiCaSchedulerApp(org.apache.hadoop.yarn.api.records.ApplicationAttemptId applicationAttemptId, String user, Queue queue, AbstractUsersManager abstractUsersManager, RMContext rmContext, org.apache.hadoop.yarn.api.records.Priority appPriority, boolean isAttemptRecovering)
public FiCaSchedulerApp(org.apache.hadoop.yarn.api.records.ApplicationAttemptId applicationAttemptId, String user, Queue queue, AbstractUsersManager abstractUsersManager, RMContext rmContext, org.apache.hadoop.yarn.api.records.Priority appPriority, boolean isAttemptRecovering, ActivitiesManager activitiesManager)
public boolean containerCompleted(RMContainer rmContainer, org.apache.hadoop.yarn.api.records.ContainerStatus containerStatus, RMContainerEventType event, String partition)
public RMContainer allocate(FiCaSchedulerNode node, org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey, org.apache.hadoop.yarn.api.records.Container container)
public boolean accept(org.apache.hadoop.yarn.api.records.Resource cluster, ResourceCommitRequest<FiCaSchedulerApp,FiCaSchedulerNode> request)
public boolean apply(org.apache.hadoop.yarn.api.records.Resource cluster, ResourceCommitRequest<FiCaSchedulerApp,FiCaSchedulerNode> request)
public boolean unreserve(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey, FiCaSchedulerNode node, RMContainer rmContainer)
public Map<String,org.apache.hadoop.yarn.api.records.Resource> getTotalPendingRequestsPerPartition()
public void markContainerForPreemption(org.apache.hadoop.yarn.api.records.ContainerId cont)
public Allocation getAllocation(org.apache.hadoop.yarn.util.resource.ResourceCalculator resourceCalculator, org.apache.hadoop.yarn.api.records.Resource clusterResource, org.apache.hadoop.yarn.api.records.Resource minimumAllocation)
resourceCalculator
- resourceCalculatorclusterResource
- clusterResourceminimumAllocation
- minimumAllocationpublic org.apache.hadoop.yarn.api.records.NodeId getNodeIdToUnreserve(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey, org.apache.hadoop.yarn.api.records.Resource resourceNeedUnreserve, org.apache.hadoop.yarn.util.resource.ResourceCalculator rc, org.apache.hadoop.yarn.api.records.Resource clusterResource)
public void setHeadroomProvider(CapacityHeadroomProvider headroomProvider)
public org.apache.hadoop.yarn.api.records.Resource getHeadroom()
SchedulerApplicationAttempt
getHeadroom
in class SchedulerApplicationAttempt
public void transferStateFromPreviousAttempt(SchedulerApplicationAttempt appAttempt)
transferStateFromPreviousAttempt
in class SchedulerApplicationAttempt
public void reserve(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey, FiCaSchedulerNode node, RMContainer rmContainer, org.apache.hadoop.yarn.api.records.Container container, boolean reReservation)
public RMContainer findNodeToUnreserve(org.apache.hadoop.yarn.api.records.Resource clusterResource, FiCaSchedulerNode node, org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey, org.apache.hadoop.yarn.api.records.Resource minimumUnreservedResource)
public LeafQueue getCSLeafQueue()
public CSAssignment assignContainers(org.apache.hadoop.yarn.api.records.Resource clusterResource, PlacementSet<FiCaSchedulerNode> ps, ResourceLimits currentResourceLimits, SchedulingMode schedulingMode, RMContainer reservedContainer)
public void nodePartitionUpdated(RMContainer rmContainer, String oldPartition, String newPartition)
protected void getPendingAppDiagnosticMessage(StringBuilder diagnosticMessage)
getPendingAppDiagnosticMessage
in class SchedulerApplicationAttempt
protected void getActivedAppDiagnosticMessage(StringBuilder diagnosticMessage)
getActivedAppDiagnosticMessage
in class SchedulerApplicationAttempt
public void updateAppSkipNodeDiagnostics(String message)
message
- Message of app skip diagnosticspublic void updateNodeInfoForAMDiagnostics(FiCaSchedulerNode node)
public SchedulingPlacementSet<FiCaSchedulerNode> getSchedulingPlacementSet(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerRequestKey)
getSchedulingPlacementSet
in class SchedulerApplicationAttempt
public org.apache.hadoop.yarn.api.records.ApplicationResourceUsageReport getResourceUsageReport()
getResourceUsageReport
in class SchedulerApplicationAttempt
public ReentrantReadWriteLock.WriteLock getWriteLock()
getWriteLock
in class SchedulerApplicationAttempt
public boolean moveReservation(RMContainer reservedContainer, FiCaSchedulerNode sourceNode, FiCaSchedulerNode targetNode)
reservedContainer
- to be moved reserved containersourceNode
- source nodetargetNode
- target nodepublic int hashCode()
hashCode
in class SchedulerApplicationAttempt
public boolean equals(Object o)
equals
in class SchedulerApplicationAttempt
Copyright © 2020 Apache Software Foundation. All rights reserved.