[FLINK-4445] Add option to ignore unmapped checkpoint state #2712
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When restoring from a checkpoint/savepoint, state for each operator has to be restored. For savepoints, this means that the user cannot remove an operator from her topology and still use the savepoint.
With this change, we will allow to ignore state that cannot be mapped back to the job being restored. The default behaviour does not change.
Changes
allOrNothingStateflag as it was only effecting non-partitioned operator state and never set totrueanyways (except tests). The flag controlled whether each non-partitioned operator state was restored.JobSnapshottingSettingsto theJobGraph--ignoreUnmappedState(short-i) flag to the run command:bin/flink run -s <savepointPath> -i ...I've tested this manually by triggering a savepoint for a job, adjusting the job (removing an operator), and then trying to resume from the savepoint. By default, restoring fails, but with the flag everything works.