Class AdaptiveScheduler
- java.lang.Object
-
- org.apache.flink.runtime.scheduler.adaptive.AdaptiveScheduler
-
- All Implemented Interfaces:
AutoCloseable,StateTransitions,StateTransitions.ToCancelling,StateTransitions.ToCreatingExecutionGraph,StateTransitions.ToExecuting,StateTransitions.ToFailing,StateTransitions.ToFinished,StateTransitions.ToRestarting,StateTransitions.ToStopWithSavepoint,StateTransitions.ToWaitingForResources,GlobalFailureHandler,SchedulerNG,org.apache.flink.util.AutoCloseableAsync
public class AdaptiveScheduler extends Object implements SchedulerNG
ASchedulerNGimplementation that uses the declarative resource management and automatically adapts the parallelism in case not enough resource could be acquired to run at the configured parallelism, as described in FLIP-160.This scheduler only supports jobs with streaming semantics, i.e., all vertices are connected via pipelined data-exchanges.
The implementation is spread over multiple
Stateclasses that control which RPCs are allowed in a given state and what state transitions are possible (see the FLIP for an overview). This class can thus be roughly split into 2 parts:1) RPCs, which must forward the call to the state via
State.tryRun(Class, ThrowingConsumer, String)orState.tryCall(Class, FunctionWithException, String).2) Context methods, which are called by states, to either transition into another state or access functionality of some component in the scheduler.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAdaptiveScheduler.SettingsConsolidated settings for the adaptive scheduler.-
Nested classes/interfaces inherited from interface org.apache.flink.runtime.scheduler.adaptive.StateTransitions
StateTransitions.ToCancelling, StateTransitions.ToCreatingExecutionGraph, StateTransitions.ToExecuting, StateTransitions.ToFailing, StateTransitions.ToFinished, StateTransitions.ToRestarting, StateTransitions.ToStopWithSavepoint, StateTransitions.ToWaitingForResources
-
-
Constructor Summary
Constructors Constructor Description AdaptiveScheduler(AdaptiveScheduler.Settings settings, JobGraph jobGraph, JobResourceRequirements jobResourceRequirements, org.apache.flink.configuration.Configuration configuration, DeclarativeSlotPool declarativeSlotPool, SlotAllocator slotAllocator, Executor ioExecutor, ClassLoader userCodeClassLoader, CheckpointsCleaner checkpointsCleaner, CheckpointRecoveryFactory checkpointRecoveryFactory, JobManagerJobMetricGroup jobManagerJobMetricGroup, RestartBackoffTimeStrategy restartBackoffTimeStrategy, long initializationTimestamp, org.apache.flink.runtime.concurrent.ComponentMainThreadExecutor mainThreadExecutor, org.apache.flink.runtime.rpc.FatalErrorHandler fatalErrorHandler, JobStatusListener jobStatusListener, Collection<org.apache.flink.core.failure.FailureEnricher> failureEnrichers, ExecutionGraphFactory executionGraphFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidacknowledgeCheckpoint(org.apache.flink.api.common.JobID jobID, ExecutionAttemptID executionAttemptID, long checkpointId, CheckpointMetrics checkpointMetrics, TaskStateSnapshot checkpointState)voidarchiveFailure(RootExceptionHistoryEntry failure)voidcancel()CompletableFuture<Void>closeAsync()voiddeclineCheckpoint(DeclineCheckpoint decline)CompletableFuture<CoordinationResponse>deliverCoordinationRequestToCoordinator(OperatorID operator, CoordinationRequest request)Delivers a coordination request to theOperatorCoordinatorwith the givenOperatorIDand returns the coordinator's response.voiddeliverOperatorEventToCoordinator(ExecutionAttemptID taskExecution, OperatorID operator, OperatorEvent evt)Delivers the given OperatorEvent to theOperatorCoordinatorwith the givenOperatorID.ArchivedExecutionGraphgetArchivedExecutionGraph(org.apache.flink.api.common.JobStatus jobStatus, Throwable cause)Optional<VertexParallelism>getAvailableVertexParallelism()ExecutorgetIOExecutor()org.apache.flink.api.common.JobIDgetJobId()CompletableFuture<org.apache.flink.api.common.JobStatus>getJobTerminationFuture()org.apache.flink.runtime.concurrent.ComponentMainThreadExecutorgetMainThreadExecutor()JobManagerJobMetricGroupgetMetricGroup()voidgoToCanceling(ExecutionGraph executionGraph, ExecutionGraphHandler executionGraphHandler, OperatorCoordinatorHandler operatorCoordinatorHandler, List<ExceptionHistoryEntry> failureCollection)Transitions into theCancelingstate.voidgoToCreatingExecutionGraph(ExecutionGraph previousExecutionGraph)Transitions into theCreatingExecutionGraphstate.voidgoToExecuting(ExecutionGraph executionGraph, ExecutionGraphHandler executionGraphHandler, OperatorCoordinatorHandler operatorCoordinatorHandler, List<ExceptionHistoryEntry> failureCollection)Transitions into theExecutingstate.voidgoToFailing(ExecutionGraph executionGraph, ExecutionGraphHandler executionGraphHandler, OperatorCoordinatorHandler operatorCoordinatorHandler, Throwable failureCause, List<ExceptionHistoryEntry> failureCollection)Transitions into theFailingstate.voidgoToFinished(ArchivedExecutionGraph archivedExecutionGraph)Transitions into theFinishedstate.voidgoToRestarting(ExecutionGraph executionGraph, ExecutionGraphHandler executionGraphHandler, OperatorCoordinatorHandler operatorCoordinatorHandler, Duration backoffTime, VertexParallelism restartWithParallelism, List<ExceptionHistoryEntry> failureCollection)Transitions into theRestartingstate.CompletableFuture<String>goToStopWithSavepoint(ExecutionGraph executionGraph, ExecutionGraphHandler executionGraphHandler, OperatorCoordinatorHandler operatorCoordinatorHandler, CheckpointScheduling checkpointScheduling, CompletableFuture<String> savepointFuture, List<ExceptionHistoryEntry> failureCollection)Transitions into theStopWithSavepointstate.voidgoToWaitingForResources(ExecutionGraph previousExecutionGraph)Transitions into theWaitingForResourcesstate.voidhandleGlobalFailure(Throwable cause)Handles a global failure.booleanhasDesiredResources()booleanhasSufficientResources()org.apache.flink.runtime.scheduler.adaptive.FailureResulthowToHandleFailure(Throwable failure, CompletableFuture<Map<String,String>> failureLabels)booleanisState(org.apache.flink.runtime.scheduler.adaptive.State expectedState)voidnotifyEndOfData(ExecutionAttemptID executionAttemptID)Notifies that the task has reached the end of data.voidnotifyKvStateRegistered(org.apache.flink.api.common.JobID jobId, JobVertexID jobVertexId, KeyGroupRange keyGroupRange, String registrationName, org.apache.flink.queryablestate.KvStateID kvStateId, InetSocketAddress kvStateServerAddress)voidnotifyKvStateUnregistered(org.apache.flink.api.common.JobID jobId, JobVertexID jobVertexId, KeyGroupRange keyGroupRange, String registrationName)voidonFinished(ArchivedExecutionGraph archivedExecutionGraph)voidreportCheckpointMetrics(org.apache.flink.api.common.JobID jobID, ExecutionAttemptID executionAttemptID, long checkpointId, CheckpointMetrics checkpointMetrics)voidreportInitializationMetrics(org.apache.flink.api.common.JobID jobId, ExecutionAttemptID executionAttemptId, SubTaskInitializationMetrics initializationMetrics)CheckpointStatsSnapshotrequestCheckpointStats()Returns the checkpoint statistics for a given job.ExecutionGraphInforequestJob()JobResourceRequirementsrequestJobResourceRequirements()Read currentjob resource requirements.org.apache.flink.api.common.JobStatusrequestJobStatus()KvStateLocationrequestKvStateLocation(org.apache.flink.api.common.JobID jobId, String registrationName)SerializedInputSplitrequestNextInputSplit(JobVertexID vertexID, ExecutionAttemptID executionAttempt)ExecutionStaterequestPartitionState(IntermediateDataSetID intermediateResultId, ResultPartitionID resultPartitionId)voidrunIfState(org.apache.flink.runtime.scheduler.adaptive.State expectedState, Runnable action)ScheduledFuture<?>runIfState(org.apache.flink.runtime.scheduler.adaptive.State expectedState, Runnable action, Duration delay)voidstartScheduling()CompletableFuture<String>stopWithSavepoint(String targetDirectory, boolean terminate, org.apache.flink.core.execution.SavepointFormatType formatType)CompletableFuture<CompletedCheckpoint>triggerCheckpoint(org.apache.flink.core.execution.CheckpointType checkpointType)CompletableFuture<String>triggerSavepoint(String targetDirectory, boolean cancelJob, org.apache.flink.core.execution.SavepointFormatType formatType)org.apache.flink.runtime.scheduler.adaptive.CreatingExecutionGraph.AssignmentResulttryToAssignSlots(org.apache.flink.runtime.scheduler.adaptive.CreatingExecutionGraph.ExecutionGraphWithVertexParallelism executionGraphWithVertexParallelism)voidupdateAccumulators(AccumulatorSnapshot accumulatorSnapshot)voidupdateJobResourceRequirements(JobResourceRequirements jobResourceRequirements)Updatejob resource requirements.booleanupdateTaskExecutionState(TaskExecutionStateTransition taskExecutionState)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.runtime.scheduler.SchedulerNG
updateTaskExecutionState
-
-
-
-
Constructor Detail
-
AdaptiveScheduler
public AdaptiveScheduler(AdaptiveScheduler.Settings settings, JobGraph jobGraph, @Nullable JobResourceRequirements jobResourceRequirements, org.apache.flink.configuration.Configuration configuration, DeclarativeSlotPool declarativeSlotPool, SlotAllocator slotAllocator, Executor ioExecutor, ClassLoader userCodeClassLoader, CheckpointsCleaner checkpointsCleaner, CheckpointRecoveryFactory checkpointRecoveryFactory, JobManagerJobMetricGroup jobManagerJobMetricGroup, RestartBackoffTimeStrategy restartBackoffTimeStrategy, long initializationTimestamp, org.apache.flink.runtime.concurrent.ComponentMainThreadExecutor mainThreadExecutor, org.apache.flink.runtime.rpc.FatalErrorHandler fatalErrorHandler, JobStatusListener jobStatusListener, Collection<org.apache.flink.core.failure.FailureEnricher> failureEnrichers, ExecutionGraphFactory executionGraphFactory) throws JobExecutionException
- Throws:
JobExecutionException
-
-
Method Detail
-
startScheduling
public void startScheduling()
- Specified by:
startSchedulingin interfaceSchedulerNG
-
closeAsync
public CompletableFuture<Void> closeAsync()
- Specified by:
closeAsyncin interfaceorg.apache.flink.util.AutoCloseableAsync
-
cancel
public void cancel()
- Specified by:
cancelin interfaceSchedulerNG
-
getJobTerminationFuture
public CompletableFuture<org.apache.flink.api.common.JobStatus> getJobTerminationFuture()
- Specified by:
getJobTerminationFuturein interfaceSchedulerNG
-
handleGlobalFailure
public void handleGlobalFailure(Throwable cause)
Description copied from interface:GlobalFailureHandlerHandles a global failure.- Specified by:
handleGlobalFailurein interfaceGlobalFailureHandler- Parameters:
cause- A cause that describes the global failure.
-
updateTaskExecutionState
public boolean updateTaskExecutionState(TaskExecutionStateTransition taskExecutionState)
- Specified by:
updateTaskExecutionStatein interfaceSchedulerNG
-
requestNextInputSplit
public SerializedInputSplit requestNextInputSplit(JobVertexID vertexID, ExecutionAttemptID executionAttempt) throws IOException
- Specified by:
requestNextInputSplitin interfaceSchedulerNG- Throws:
IOException
-
requestPartitionState
public ExecutionState requestPartitionState(IntermediateDataSetID intermediateResultId, ResultPartitionID resultPartitionId) throws PartitionProducerDisposedException
- Specified by:
requestPartitionStatein interfaceSchedulerNG- Throws:
PartitionProducerDisposedException
-
requestJob
public ExecutionGraphInfo requestJob()
- Specified by:
requestJobin interfaceSchedulerNG
-
requestCheckpointStats
public CheckpointStatsSnapshot requestCheckpointStats()
Description copied from interface:SchedulerNGReturns the checkpoint statistics for a given job. Although theCheckpointStatsSnapshotis included in theExecutionGraphInfo, this method is preferred toSchedulerNG.requestJob()because it is less expensive.- Specified by:
requestCheckpointStatsin interfaceSchedulerNG- Returns:
- checkpoint statistics snapshot for job graph
-
archiveFailure
public void archiveFailure(RootExceptionHistoryEntry failure)
-
requestJobStatus
public org.apache.flink.api.common.JobStatus requestJobStatus()
- Specified by:
requestJobStatusin interfaceSchedulerNG
-
requestKvStateLocation
public KvStateLocation requestKvStateLocation(org.apache.flink.api.common.JobID jobId, String registrationName) throws UnknownKvStateLocation, FlinkJobNotFoundException
- Specified by:
requestKvStateLocationin interfaceSchedulerNG- Throws:
UnknownKvStateLocationFlinkJobNotFoundException
-
notifyKvStateRegistered
public void notifyKvStateRegistered(org.apache.flink.api.common.JobID jobId, JobVertexID jobVertexId, KeyGroupRange keyGroupRange, String registrationName, org.apache.flink.queryablestate.KvStateID kvStateId, InetSocketAddress kvStateServerAddress) throws FlinkJobNotFoundException- Specified by:
notifyKvStateRegisteredin interfaceSchedulerNG- Throws:
FlinkJobNotFoundException
-
notifyKvStateUnregistered
public void notifyKvStateUnregistered(org.apache.flink.api.common.JobID jobId, JobVertexID jobVertexId, KeyGroupRange keyGroupRange, String registrationName) throws FlinkJobNotFoundException- Specified by:
notifyKvStateUnregisteredin interfaceSchedulerNG- Throws:
FlinkJobNotFoundException
-
updateAccumulators
public void updateAccumulators(AccumulatorSnapshot accumulatorSnapshot)
- Specified by:
updateAccumulatorsin interfaceSchedulerNG
-
triggerSavepoint
public CompletableFuture<String> triggerSavepoint(@Nullable String targetDirectory, boolean cancelJob, org.apache.flink.core.execution.SavepointFormatType formatType)
- Specified by:
triggerSavepointin interfaceSchedulerNG
-
triggerCheckpoint
public CompletableFuture<CompletedCheckpoint> triggerCheckpoint(org.apache.flink.core.execution.CheckpointType checkpointType)
- Specified by:
triggerCheckpointin interfaceSchedulerNG
-
acknowledgeCheckpoint
public void acknowledgeCheckpoint(org.apache.flink.api.common.JobID jobID, ExecutionAttemptID executionAttemptID, long checkpointId, CheckpointMetrics checkpointMetrics, TaskStateSnapshot checkpointState)- Specified by:
acknowledgeCheckpointin interfaceSchedulerNG
-
notifyEndOfData
public void notifyEndOfData(ExecutionAttemptID executionAttemptID)
Description copied from interface:SchedulerNGNotifies that the task has reached the end of data.- Specified by:
notifyEndOfDatain interfaceSchedulerNG- Parameters:
executionAttemptID- The execution attempt id.
-
reportCheckpointMetrics
public void reportCheckpointMetrics(org.apache.flink.api.common.JobID jobID, ExecutionAttemptID executionAttemptID, long checkpointId, CheckpointMetrics checkpointMetrics)- Specified by:
reportCheckpointMetricsin interfaceSchedulerNG
-
declineCheckpoint
public void declineCheckpoint(DeclineCheckpoint decline)
- Specified by:
declineCheckpointin interfaceSchedulerNG
-
reportInitializationMetrics
public void reportInitializationMetrics(org.apache.flink.api.common.JobID jobId, ExecutionAttemptID executionAttemptId, SubTaskInitializationMetrics initializationMetrics)- Specified by:
reportInitializationMetricsin interfaceSchedulerNG
-
stopWithSavepoint
public CompletableFuture<String> stopWithSavepoint(@Nullable String targetDirectory, boolean terminate, org.apache.flink.core.execution.SavepointFormatType formatType)
- Specified by:
stopWithSavepointin interfaceSchedulerNG
-
deliverOperatorEventToCoordinator
public void deliverOperatorEventToCoordinator(ExecutionAttemptID taskExecution, OperatorID operator, OperatorEvent evt) throws org.apache.flink.util.FlinkException
Description copied from interface:SchedulerNGDelivers the given OperatorEvent to theOperatorCoordinatorwith the givenOperatorID.Failure semantics: If the task manager sends an event for a non-running task or a non-existing operator coordinator, then respond with an exception to the call. If task and coordinator exist, then we assume that the call from the TaskManager was valid, and any bubbling exception needs to cause a job failure
- Specified by:
deliverOperatorEventToCoordinatorin interfaceSchedulerNG- Throws:
org.apache.flink.util.FlinkException- Thrown, if the task is not running or no operator/coordinator exists for the given ID.
-
deliverCoordinationRequestToCoordinator
public CompletableFuture<CoordinationResponse> deliverCoordinationRequestToCoordinator(OperatorID operator, CoordinationRequest request) throws org.apache.flink.util.FlinkException
Description copied from interface:SchedulerNGDelivers a coordination request to theOperatorCoordinatorwith the givenOperatorIDand returns the coordinator's response.- Specified by:
deliverCoordinationRequestToCoordinatorin interfaceSchedulerNG- Returns:
- A future containing the response.
- Throws:
org.apache.flink.util.FlinkException- Thrown, if the task is not running, or no operator/coordinator exists for the given ID, or the coordinator cannot handle client events.
-
requestJobResourceRequirements
public JobResourceRequirements requestJobResourceRequirements()
Description copied from interface:SchedulerNGRead currentjob resource requirements.- Specified by:
requestJobResourceRequirementsin interfaceSchedulerNG- Returns:
- Current resource requirements.
-
updateJobResourceRequirements
public void updateJobResourceRequirements(JobResourceRequirements jobResourceRequirements)
Description copied from interface:SchedulerNGUpdatejob resource requirements.- Specified by:
updateJobResourceRequirementsin interfaceSchedulerNG- Parameters:
jobResourceRequirements- new resource requirements
-
hasDesiredResources
public boolean hasDesiredResources()
-
hasSufficientResources
public boolean hasSufficientResources()
-
getJobId
public org.apache.flink.api.common.JobID getJobId()
-
getArchivedExecutionGraph
public ArchivedExecutionGraph getArchivedExecutionGraph(org.apache.flink.api.common.JobStatus jobStatus, @Nullable Throwable cause)
-
goToWaitingForResources
public void goToWaitingForResources(@Nullable ExecutionGraph previousExecutionGraph)Description copied from interface:StateTransitions.ToWaitingForResourcesTransitions into theWaitingForResourcesstate.- Specified by:
goToWaitingForResourcesin interfaceStateTransitions.ToWaitingForResources
-
goToExecuting
public void goToExecuting(ExecutionGraph executionGraph, ExecutionGraphHandler executionGraphHandler, OperatorCoordinatorHandler operatorCoordinatorHandler, List<ExceptionHistoryEntry> failureCollection)
Description copied from interface:StateTransitions.ToExecutingTransitions into theExecutingstate.- Specified by:
goToExecutingin interfaceStateTransitions.ToExecuting- Parameters:
executionGraph- executionGraph to pass to theExecutingstateexecutionGraphHandler- executionGraphHandler to pass to theExecutingstateoperatorCoordinatorHandler- operatorCoordinatorHandler to pass to theExecutingstatefailureCollection- collection of failures that are propagated
-
goToCanceling
public void goToCanceling(ExecutionGraph executionGraph, ExecutionGraphHandler executionGraphHandler, OperatorCoordinatorHandler operatorCoordinatorHandler, List<ExceptionHistoryEntry> failureCollection)
Description copied from interface:StateTransitions.ToCancellingTransitions into theCancelingstate.- Specified by:
goToCancelingin interfaceStateTransitions.ToCancelling- Parameters:
executionGraph- executionGraph to pass to theCancelingstateexecutionGraphHandler- executionGraphHandler to pass to theCancelingstateoperatorCoordinatorHandler- operatorCoordinatorHandler to pass to theCancelingstatefailureCollection- collection of failures that are propagated
-
goToRestarting
public void goToRestarting(ExecutionGraph executionGraph, ExecutionGraphHandler executionGraphHandler, OperatorCoordinatorHandler operatorCoordinatorHandler, Duration backoffTime, @Nullable VertexParallelism restartWithParallelism, List<ExceptionHistoryEntry> failureCollection)
Description copied from interface:StateTransitions.ToRestartingTransitions into theRestartingstate.- Specified by:
goToRestartingin interfaceStateTransitions.ToRestarting- Parameters:
executionGraph- executionGraph to pass to theRestartingstateexecutionGraphHandler- executionGraphHandler to pass to theRestartingstateoperatorCoordinatorHandler- operatorCoordinatorHandler to pas to theRestartingstatebackoffTime- backoffTime to wait before transitioning to theRestartingstaterestartWithParallelism- theVertexParallelismthat triggered the restarting. TheAdaptiveSchedulershould transition directly toCreatingExecutionGraphif the available parallelism hasn't changed while cancelling the job. Ifnullis passed or the parallelism changed,WaitingForResourcesstate should be the subsequent state.failureCollection- collection of failures that are propagated
-
goToFailing
public void goToFailing(ExecutionGraph executionGraph, ExecutionGraphHandler executionGraphHandler, OperatorCoordinatorHandler operatorCoordinatorHandler, Throwable failureCause, List<ExceptionHistoryEntry> failureCollection)
Description copied from interface:StateTransitions.ToFailingTransitions into theFailingstate.- Specified by:
goToFailingin interfaceStateTransitions.ToFailing- Parameters:
executionGraph- executionGraph to pass to theFailingstateexecutionGraphHandler- executionGraphHandler to pass to theFailingstateoperatorCoordinatorHandler- operatorCoordinatorHandler to pass to theFailingstatefailureCause- failureCause describing why the job execution failedfailureCollection- collection of failures that are propagated
-
goToStopWithSavepoint
public CompletableFuture<String> goToStopWithSavepoint(ExecutionGraph executionGraph, ExecutionGraphHandler executionGraphHandler, OperatorCoordinatorHandler operatorCoordinatorHandler, CheckpointScheduling checkpointScheduling, CompletableFuture<String> savepointFuture, List<ExceptionHistoryEntry> failureCollection)
Description copied from interface:StateTransitions.ToStopWithSavepointTransitions into theStopWithSavepointstate.- Specified by:
goToStopWithSavepointin interfaceStateTransitions.ToStopWithSavepoint- Parameters:
executionGraph- executionGraph to pass to theStopWithSavepointstateexecutionGraphHandler- executionGraphHandler to pass to theStopWithSavepointstateoperatorCoordinatorHandler- operatorCoordinatorHandler to pass to theStopWithSavepointstatesavepointFuture- Future for the savepoint to complete.failureCollection- collection of failures that are propagated- Returns:
- Location of the savepoint.
-
goToFinished
public void goToFinished(ArchivedExecutionGraph archivedExecutionGraph)
Description copied from interface:StateTransitions.ToFinishedTransitions into theFinishedstate.- Specified by:
goToFinishedin interfaceStateTransitions.ToFinished- Parameters:
archivedExecutionGraph- archivedExecutionGraph which is passed to theFinishedstate
-
goToCreatingExecutionGraph
public void goToCreatingExecutionGraph(@Nullable ExecutionGraph previousExecutionGraph)Description copied from interface:StateTransitions.ToCreatingExecutionGraphTransitions into theCreatingExecutionGraphstate.- Specified by:
goToCreatingExecutionGraphin interfaceStateTransitions.ToCreatingExecutionGraph
-
tryToAssignSlots
public org.apache.flink.runtime.scheduler.adaptive.CreatingExecutionGraph.AssignmentResult tryToAssignSlots(org.apache.flink.runtime.scheduler.adaptive.CreatingExecutionGraph.ExecutionGraphWithVertexParallelism executionGraphWithVertexParallelism)
-
getAvailableVertexParallelism
public Optional<VertexParallelism> getAvailableVertexParallelism()
-
onFinished
public void onFinished(ArchivedExecutionGraph archivedExecutionGraph)
-
howToHandleFailure
public org.apache.flink.runtime.scheduler.adaptive.FailureResult howToHandleFailure(Throwable failure, CompletableFuture<Map<String,String>> failureLabels)
-
getIOExecutor
public Executor getIOExecutor()
-
getMainThreadExecutor
public org.apache.flink.runtime.concurrent.ComponentMainThreadExecutor getMainThreadExecutor()
-
getMetricGroup
public JobManagerJobMetricGroup getMetricGroup()
-
isState
public boolean isState(org.apache.flink.runtime.scheduler.adaptive.State expectedState)
-
runIfState
public void runIfState(org.apache.flink.runtime.scheduler.adaptive.State expectedState, Runnable action)
-
runIfState
public ScheduledFuture<?> runIfState(org.apache.flink.runtime.scheduler.adaptive.State expectedState, Runnable action, Duration delay)
-
-