Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Additional key naming rule for boolean type options (In discussion): ONLY add 'enabled' when there are more detailed configurations under the same prefix, to prevent one name from serving as a prefix to another. Otherwise, do not add 'enabled' as suffix. Alternatives:

  1. Option 1: Use enumeration options instead if possible. But this may cause some name collisions or confusion as we discussed and we should unify the statement everywhere.

  2. Option 2: Use boolean options and add 'enabled' as the suffix.

  3. Option 3 (Current preferred choice): Use boolean options and ONLY add 'enabled' when there are more detailed configurations under the same prefix, to prevent one name from serving as a prefix to another.


Please note that this FLIP does not change any state accessing, checkpointing and recovery logic. To be more specific, the detailed migration plan for the individual options is as follows:

...

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

execution.checkpoint.typeexecution.checkpointing.incremental

(In discussion)

an enumeration option which can be 'full' (default) or 'incremental'

state.backend.local-recovery

execution.checkpointing.local-backup.enabled

Whether to do checkpoint on local disk, another option execution.state-recovery.from-local is added to control the behavior of recovery from local

taskmanager.state.local.root-dirs


execution.checkpointing.local-backup.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


...

Existing UT/IT can ensure the compatibility for old options. New tests will cover the new options.

Rejected Alternatives

...

  1. state.backend.incremental → execution.checkpoint.type (an enumeration option which can be 'full' (default) or 'incremental')
    1. `Checkpoint Type` is used to describe aligned/unaligned checkpoint in the document
  2. state.savepoints.dir → execution.checkpointing.savepoint.dir
    1. checkpointing.savepoint is wired.
  3. state.backend.local-recovery → execution.checkpointing.local-copy
    1. local-backup sounds better
  4. execution.recovery as the configuration naming prefix for state recovery
    1. `recovery` means too many things. Use `state-recovery` instead.