...
In addition, there are several individual options such as state.checkpoint-storage
and state.checkpoints.dir
that fall outside of these prefixes. The current arrangement of these options, which span multiple modules, is somewhat haphazard and lacks a systematic structure. For example, the options under the CheckpointingOptions
and ExecutionCheckpointingOptions
are related and have no clear boundaries from the user's perspective, but there is no unified prefix for them. With the upcoming release of Flink 2.0, we have an excellent opportunity to overhaul and restructure the configurations related to checkpointing, recovery, and state management. This FLIP proposes to reorganize these settings, making it more coherent by module, which would significantly lower the barriers for understanding and reduce the development costs moving forward.
Public Interfaces & Proposed Changes
This FLIP proposes a transition from existing configuration options to new ones, which are categorized by prefixes as listed below:
...
Original (Current) option | Proposed New option | Note |
state.checkpoints.num-retained | execution.checkpointing.num-retained | |
state.checkpoint.cleaner.parallel-mode | execution.checkpointing.cleaner.parallel-mode | |
state.backend.incremental |
(In discussion) | |
state.backend.local-recovery | execution.checkpointing.local-copy.enabled | Whether to do checkpoint on local disk, another option |
taskmanager.state.local.root-dirs | execution.checkpointing.local-copy.dir | |
state.savepoints.dir | execution.checkpointing.savepoint.dir | |
state.checkpoints.dir state.checkpoint-storage | execution.checkpointing.dir | One URI is enough for specifying the checkpoint directory and storage. 'jobmanager' and 'jm://' are special URI for job manager based storage. |
state.storage.fs.memory-threshold | execution.checkpointing.data-inline-threshold | |
state.storage.fs.write-buffer-size | execution.checkpointing.write-buffer-size |
All those options will be moved into `CheckpointingOptions`.
...