Hi devs, I would like to start a discussion on FLIP-381: Deprecate configuration getters/setters that return/set complex Java objects[1].
Currently, the job configuration in FLINK is spread out across different components, which leads to inconsistencies and confusion. To address this issue, it is necessary to migrate non-ConfigOption complex Java objects to use ConfigOption and adopt a single Configuration object to host all the configuration. However, there is a significant blocker in implementing this solution. These complex Java objects in StreamExecutionEnvironment, CheckpointConfig, and ExecutionConfig have already been exposed through the public API, making it challenging to modify the existing implementation. Therefore, I propose to deprecate these Java objects and their corresponding getter/setter interfaces, ultimately removing them in FLINK-2.0. Your feedback and thoughts on this proposal are highly appreciated. Best regards, Junrui Lee [1] https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=278464992