Details
-
Technical Debt
-
Status: Closed
-
Major
-
Resolution: Done
-
None
Description
Currently, job configuration in FLINK is spread out across different components, including StreamExecutionEnvironment, CheckpointConfig, and ExecutionConfig. This distribution leads to inconsistencies among the configurations stored within these components. Furthermore, the methods used to configure these components vary; some rely on complex Java objects, while others use ConfigOption, which is a key-value configuration approach. This variation complicates the effective management of job configurations. Additionally, passing complex Java objects (e.g., StateBackend and CheckpointStorage) between the environment, StreamGraph, and JobGraph adds complexity to development.
With the completion of FLIP-381, it is now time to standardize and unify job configuration in FLINK. The goals of this JIRA are as follows:
- Migrate configuration from non-ConfigOption objects to use ConfigOption.
- Adopt a single Configuration object to house all configurations.
- Create complex Java objects, such as RestartBackoffTimeStrategyFactory, CheckpointStorage, and StateBackend, directly from the configuration on the JM side.
Attachments
Issue Links
- relates to
-
FLINK-33581 FLIP-381: Deprecate configuration getters/setters that return/set complex Java objects
- Closed
- links to