...
Discussion thread | https://lists.apache.org/thread/0oc10cr2q2ms855dbo29s7v08xs3bvqg | ||||||||
---|---|---|---|---|---|---|---|---|---|
Vote thread | https://lists.apache.org/thread/lrqjg44v0s82shbpvbqp6ojqv873q1wr | ||||||||
JIRA |
| ||||||||
Release | 1.1920, 2.0 |
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
...
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:
...
As the most special one, the state.backend.local-recovery
defines whether the Flink do checkpoint in local disk, as well as whether the Flink would recover from the local. This FLIP proposes to spilt this option into two, named execution.checkpointing.local-backup
and execution.state-recovery.from-local
, representing checkpointing and recovery behavior respectively.
Additionally, some existing option classes lack annotations,
...
which are:
org.apache.flink.configuration.CheckpointingOptions
- org.apache.flink.configuration.StateBackendOptions
org.apache.flink.contrib.streaming.state.RocksDBOptions
This FLIP will annotate all such existing classes, alongside any new classes that are introduced, with the @PublicEvolving in 2.0. Note that the migration period for deprecated options in those classes will meet the requirement for @PublicEvolving (Will last for at least one minor release). With above changes, the options for state, checkpointing and recovery are organized in a more straightforward structure. It is simple to categorize new options under appropriate prefixes.
Compatibility, Deprecation, and Migration Plan
In Flink 1.1920, the new options will be introduced and the current ones will be annotated as deprecated. Flink will read new options first, and if the user does not configure them, fallback to the old(current) options. The deprecation will last for two one minor versions(1.19 and 1.20), and in Flink 2.0, the old options will be removed entirely.
It there is a migration tool for current YAML file transition (current flink-conf.yaml to new config.yaml) that FLIP-366 introduced, the migration of above changes will also integrated in the tool.
Test Plan
Existing UT/IT can ensure the compatibility for old options. New tests will cover the new options.
...