public class AdaptiveBatchScheduler extends DefaultScheduler
executionDeployer, executionSlotAllocator, failoverStrategy, log, schedulingStrategy, shuffleMaster
executionVertexVersioner, inputsLocationsRetriever, jobInfo, jobManagerJobMetricGroup, operatorCoordinatorHandler, stateLocationRetriever
Constructor and Description |
---|
AdaptiveBatchScheduler(org.slf4j.Logger log,
JobGraph jobGraph,
Executor ioExecutor,
Configuration jobMasterConfiguration,
Consumer<ComponentMainThreadExecutor> startUpAction,
ScheduledExecutor delayExecutor,
ClassLoader userCodeLoader,
CheckpointsCleaner checkpointsCleaner,
CheckpointRecoveryFactory checkpointRecoveryFactory,
JobManagerJobMetricGroup jobManagerJobMetricGroup,
SchedulingStrategyFactory schedulingStrategyFactory,
FailoverStrategy.Factory failoverStrategyFactory,
RestartBackoffTimeStrategy restartBackoffTimeStrategy,
ExecutionOperations executionOperations,
ExecutionVertexVersioner executionVertexVersioner,
ExecutionSlotAllocatorFactory executionSlotAllocatorFactory,
long initializationTimestamp,
ComponentMainThreadExecutor mainThreadExecutor,
JobStatusListener jobStatusListener,
Collection<FailureEnricher> failureEnrichers,
ExecutionGraphFactory executionGraphFactory,
ShuffleMaster<?> shuffleMaster,
Time rpcTimeout,
VertexParallelismAndInputInfosDecider vertexParallelismAndInputInfosDecider,
int defaultMaxParallelism,
BlocklistOperations blocklistOperations,
JobManagerOptions.HybridPartitionDataConsumeConstraint hybridPartitionDataConsumeConstraint,
Map<JobVertexID,ForwardGroup> forwardGroupsByJobVertexId,
BatchJobRecoveryHandler jobRecoveryHandler) |
Modifier and Type | Method and Description |
---|---|
void |
allocateSlotsAndDeploy(List<ExecutionVertexID> verticesToDeploy)
Allocate slots and deploy the vertex when slots are returned.
|
CompletableFuture<Void> |
closeAsync()
Trigger the closing of the resource and return the corresponding close future.
|
List<CompletableFuture<Integer>> |
computeDynamicSourceParallelism() |
static VertexParallelismStore |
computeVertexParallelismStoreForDynamicGraph(Iterable<JobVertex> vertices,
int defaultMaxParallelism)
Compute the
VertexParallelismStore for all given vertices in a dynamic graph, which
will set defaults and ensure that the returned store contains valid parallelisms, with the
configured default max parallelism. |
protected MarkPartitionFinishedStrategy |
getMarkPartitionFinishedStrategy() |
protected void |
handleTaskFailure(Execution failedExecution,
Throwable error) |
void |
initializeVerticesIfPossible() |
protected void |
maybeRestartTasks(FailureHandlingResult failureHandlingResult)
Modifies the vertices which need to be restarted.
|
protected void |
onTaskFailed(Execution execution) |
protected void |
onTaskFinished(Execution execution,
IOMetrics ioMetrics) |
protected void |
resetForNewExecution(ExecutionVertexID executionVertexId) |
protected void |
resetForNewExecutions(Collection<ExecutionVertexID> vertices) |
protected void |
startSchedulingInternal() |
cancelAllPendingSlotRequestsForVertex, cancelAllPendingSlotRequestsInternal, cancelExecution, createFailureHandlingResultSnapshot, getNumberOfRestarts, handleGlobalFailure, notifyCoordinatorsAboutTaskFailure, recordTaskFailure
acknowledgeCheckpoint, archiveFromFailureHandlingResult, archiveGlobalFailure, cancel, computeVertexParallelismStore, computeVertexParallelismStore, computeVertexParallelismStore, computeVertexParallelismStore, declineCheckpoint, deliverCoordinationRequestToCoordinator, deliverOperatorEventToCoordinator, failJob, getDefaultMaxParallelism, getExceptionHistory, getExecutionGraph, getExecutionJobVertex, getExecutionVertex, getJobGraph, getJobId, getJobTerminationFuture, getMainThreadExecutor, getResultPartitionAvailabilityChecker, getSchedulingTopology, notifyEndOfData, notifyKvStateRegistered, notifyKvStateUnregistered, registerJobMetrics, reportCheckpointMetrics, reportInitializationMetrics, requestCheckpointStats, requestJob, requestJobStatus, requestKvStateLocation, requestNextInputSplit, requestPartitionState, restoreState, setGlobalFailureCause, startCheckpointScheduler, startScheduling, stopCheckpointScheduler, stopWithSavepoint, transitionExecutionGraphState, transitionToRunning, transitionToScheduled, triggerCheckpoint, triggerSavepoint, updateAccumulators, updateTaskExecutionState
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
requestJobResourceRequirements, updateJobResourceRequirements, updateTaskExecutionState
close
public AdaptiveBatchScheduler(org.slf4j.Logger log, JobGraph jobGraph, Executor ioExecutor, Configuration jobMasterConfiguration, Consumer<ComponentMainThreadExecutor> startUpAction, ScheduledExecutor delayExecutor, ClassLoader userCodeLoader, CheckpointsCleaner checkpointsCleaner, CheckpointRecoveryFactory checkpointRecoveryFactory, JobManagerJobMetricGroup jobManagerJobMetricGroup, SchedulingStrategyFactory schedulingStrategyFactory, FailoverStrategy.Factory failoverStrategyFactory, RestartBackoffTimeStrategy restartBackoffTimeStrategy, ExecutionOperations executionOperations, ExecutionVertexVersioner executionVertexVersioner, ExecutionSlotAllocatorFactory executionSlotAllocatorFactory, long initializationTimestamp, ComponentMainThreadExecutor mainThreadExecutor, JobStatusListener jobStatusListener, Collection<FailureEnricher> failureEnrichers, ExecutionGraphFactory executionGraphFactory, ShuffleMaster<?> shuffleMaster, Time rpcTimeout, VertexParallelismAndInputInfosDecider vertexParallelismAndInputInfosDecider, int defaultMaxParallelism, BlocklistOperations blocklistOperations, JobManagerOptions.HybridPartitionDataConsumeConstraint hybridPartitionDataConsumeConstraint, Map<JobVertexID,ForwardGroup> forwardGroupsByJobVertexId, BatchJobRecoveryHandler jobRecoveryHandler) throws Exception
Exception
protected void startSchedulingInternal()
startSchedulingInternal
in class DefaultScheduler
protected void maybeRestartTasks(FailureHandlingResult failureHandlingResult)
maybeRestartTasks
in class DefaultScheduler
protected void resetForNewExecutions(Collection<ExecutionVertexID> vertices)
resetForNewExecutions
in class SchedulerBase
public CompletableFuture<Void> closeAsync()
AutoCloseableAsync
closeAsync
in interface AutoCloseableAsync
closeAsync
in class SchedulerBase
protected void onTaskFinished(Execution execution, IOMetrics ioMetrics)
onTaskFinished
in class DefaultScheduler
protected void onTaskFailed(Execution execution)
onTaskFailed
in class DefaultScheduler
protected void handleTaskFailure(Execution failedExecution, @Nullable Throwable error)
handleTaskFailure
in class DefaultScheduler
public void allocateSlotsAndDeploy(List<ExecutionVertexID> verticesToDeploy)
SchedulerOperations
allocateSlotsAndDeploy
in interface SchedulerOperations
allocateSlotsAndDeploy
in class DefaultScheduler
verticesToDeploy
- The execution vertices to deployprotected void resetForNewExecution(ExecutionVertexID executionVertexId)
resetForNewExecution
in class SchedulerBase
protected MarkPartitionFinishedStrategy getMarkPartitionFinishedStrategy()
getMarkPartitionFinishedStrategy
in class SchedulerBase
public List<CompletableFuture<Integer>> computeDynamicSourceParallelism()
@VisibleForTesting public void initializeVerticesIfPossible()
@VisibleForTesting public static VertexParallelismStore computeVertexParallelismStoreForDynamicGraph(Iterable<JobVertex> vertices, int defaultMaxParallelism)
VertexParallelismStore
for all given vertices in a dynamic graph, which
will set defaults and ensure that the returned store contains valid parallelisms, with the
configured default max parallelism.vertices
- the vertices to compute parallelism fordefaultMaxParallelism
- the global default max parallelismCopyright © 2014–2024 The Apache Software Foundation. All rights reserved.