public class TaskStateManagerImpl extends Object implements TaskStateManager
TaskStateManager
and collaborates with the
job manager through CheckpointResponder
) as well as a task-manager-local state store.
Like this, client code does not have to deal with the differences between remote or local state
on recovery because this class handles both cases transparently.
Reported state is tagged by clients so that this class can properly forward to the right receiver for the checkpointed state.
Constructor and Description |
---|
TaskStateManagerImpl(JobID jobId,
ExecutionAttemptID executionAttemptID,
TaskLocalStateStore localStateStore,
FileMergingSnapshotManagerClosableWrapper fileMergingSnapshotManager,
StateChangelogStorage<?> stateChangelogStorage,
TaskExecutorStateChangelogStoragesManager changelogStoragesManager,
JobManagerTaskRestore jobManagerTaskRestore,
CheckpointResponder checkpointResponder) |
TaskStateManagerImpl(JobID jobId,
ExecutionAttemptID executionAttemptID,
TaskLocalStateStore localStateStore,
FileMergingSnapshotManagerClosableWrapper fileMergingSnapshotManager,
StateChangelogStorage<?> stateChangelogStorage,
TaskExecutorStateChangelogStoragesManager changelogStoragesManager,
JobManagerTaskRestore jobManagerTaskRestore,
CheckpointResponder checkpointResponder,
SequentialChannelStateReaderImpl sequentialChannelStateReader) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
LocalRecoveryConfig |
createLocalRecoveryConfig()
Returns the configuration for local recovery, i.e. the base directories for all file-based
local state of the owning subtask and the general mode for local recovery.
|
FileMergingSnapshotManager |
getFileMergingSnapshotManager() |
InflightDataRescalingDescriptor |
getInputRescalingDescriptor() |
InflightDataRescalingDescriptor |
getOutputRescalingDescriptor() |
Optional<Long> |
getRestoreCheckpointId()
Acquires the checkpoint id to restore from.
|
SequentialChannelStateReader |
getSequentialChannelStateReader() |
StateChangelogStorage<?> |
getStateChangelogStorage()
Returns the configured state changelog storage for this task.
|
StateChangelogStorageView<?> |
getStateChangelogStorageView(Configuration configuration,
ChangelogStateHandle changelogStateHandle)
Returns the state changelog storage view of given
ChangelogStateHandle for this task. |
Optional<OperatorSubtaskState> |
getSubtaskJobManagerRestoredState(OperatorID operatorID)
Get the restored state from jobManager which belongs to an operator running in the owning
task.
|
boolean |
isTaskDeployedAsFinished()
Whether all the operators of the task are finished on restore.
|
void |
notifyCheckpointAborted(long checkpointId)
Tracking when some local state can be disposed.
|
void |
notifyCheckpointComplete(long checkpointId)
Tracking when local state can be confirmed and disposed.
|
PrioritizedOperatorSubtaskState |
prioritizedOperatorState(OperatorID operatorID)
Returns means to restore previously reported state of an operator running in the owning task.
|
void |
reportIncompleteTaskStateSnapshots(CheckpointMetaData checkpointMetaData,
CheckpointMetrics checkpointMetrics)
Report the stats for state snapshots for an aborted checkpoint.
|
void |
reportInitializationMetrics(SubTaskInitializationMetrics subTaskInitializationMetrics) |
void |
reportTaskStateSnapshots(CheckpointMetaData checkpointMetaData,
CheckpointMetrics checkpointMetrics,
TaskStateSnapshot acknowledgedState,
TaskStateSnapshot localState)
Report the state snapshots for the operator instances running in the owning task.
|
public TaskStateManagerImpl(@Nonnull JobID jobId, @Nonnull ExecutionAttemptID executionAttemptID, @Nonnull TaskLocalStateStore localStateStore, @Nullable FileMergingSnapshotManagerClosableWrapper fileMergingSnapshotManager, @Nullable StateChangelogStorage<?> stateChangelogStorage, @Nonnull TaskExecutorStateChangelogStoragesManager changelogStoragesManager, @Nullable JobManagerTaskRestore jobManagerTaskRestore, @Nonnull CheckpointResponder checkpointResponder)
public TaskStateManagerImpl(@Nonnull JobID jobId, @Nonnull ExecutionAttemptID executionAttemptID, @Nonnull TaskLocalStateStore localStateStore, @Nullable FileMergingSnapshotManagerClosableWrapper fileMergingSnapshotManager, @Nullable StateChangelogStorage<?> stateChangelogStorage, @Nonnull TaskExecutorStateChangelogStoragesManager changelogStoragesManager, @Nullable JobManagerTaskRestore jobManagerTaskRestore, @Nonnull CheckpointResponder checkpointResponder, @Nonnull SequentialChannelStateReaderImpl sequentialChannelStateReader)
public void reportInitializationMetrics(SubTaskInitializationMetrics subTaskInitializationMetrics)
reportInitializationMetrics
in interface TaskStateManager
public void reportTaskStateSnapshots(@Nonnull CheckpointMetaData checkpointMetaData, @Nonnull CheckpointMetrics checkpointMetrics, @Nullable TaskStateSnapshot acknowledgedState, @Nullable TaskStateSnapshot localState)
TaskStateManager
reportTaskStateSnapshots
in interface TaskStateManager
checkpointMetaData
- meta data from the checkpoint request.checkpointMetrics
- task level metrics for the checkpoint.acknowledgedState
- the reported states to acknowledge to the job manager.localState
- the reported states for local recovery.public void reportIncompleteTaskStateSnapshots(CheckpointMetaData checkpointMetaData, CheckpointMetrics checkpointMetrics)
TaskStateManager
reportIncompleteTaskStateSnapshots
in interface TaskStateManager
checkpointMetaData
- meta data from the checkpoint request.checkpointMetrics
- task level metrics for the checkpoint.public InflightDataRescalingDescriptor getInputRescalingDescriptor()
getInputRescalingDescriptor
in interface TaskStateManager
public InflightDataRescalingDescriptor getOutputRescalingDescriptor()
getOutputRescalingDescriptor
in interface TaskStateManager
public boolean isTaskDeployedAsFinished()
TaskStateManager
isTaskDeployedAsFinished
in interface TaskStateManager
public Optional<Long> getRestoreCheckpointId()
TaskStateManager
getRestoreCheckpointId
in interface TaskStateManager
public PrioritizedOperatorSubtaskState prioritizedOperatorState(OperatorID operatorID)
TaskStateManager
prioritizedOperatorState
in interface TaskStateManager
operatorID
- the id of the operator for which we request state.public Optional<OperatorSubtaskState> getSubtaskJobManagerRestoredState(OperatorID operatorID)
TaskStateManager
getSubtaskJobManagerRestoredState
in interface TaskStateManager
operatorID
- the id of the operator for which we request state.@Nonnull public LocalRecoveryConfig createLocalRecoveryConfig()
TaskStateManager
createLocalRecoveryConfig
in interface TaskStateManager
public SequentialChannelStateReader getSequentialChannelStateReader()
getSequentialChannelStateReader
in interface TaskStateManager
@Nullable public StateChangelogStorage<?> getStateChangelogStorage()
TaskStateManager
getStateChangelogStorage
in interface TaskStateManager
@Nullable public StateChangelogStorageView<?> getStateChangelogStorageView(Configuration configuration, ChangelogStateHandle changelogStateHandle)
TaskStateManager
ChangelogStateHandle
for this task.getStateChangelogStorageView
in interface TaskStateManager
@Nullable public FileMergingSnapshotManager getFileMergingSnapshotManager()
getFileMergingSnapshotManager
in interface TaskStateManager
public void notifyCheckpointComplete(long checkpointId) throws Exception
notifyCheckpointComplete
in interface CheckpointListener
checkpointId
- The ID of the checkpoint that has been completed.Exception
- This method can propagate exceptions, which leads to a failure/recovery for
the task. Note that this will NOT lead to the checkpoint being revoked.public void notifyCheckpointAborted(long checkpointId)
notifyCheckpointAborted
in interface CheckpointListener
checkpointId
- The ID of the checkpoint that has been aborted.public void close() throws Exception
close
in interface AutoCloseable
Exception
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.