[ https://issues.apache.org/jira/browse/FLINK-26190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marios Trivyzas updated FLINK-26190: ------------------------------------ Description: Currently, *ExecNodeConfig* holds *TableConfig* instead of *ReadableConfig* for the configuration coming from the planner, because it's used by *CommonPythonUtil#getMergedConfig.* This should be fixed, so that *CommonPythonUtil#getMergedConfig* cam use a *ReadableConfig* instead, and then we can pass the *ExecNodeConfig* which holds the complete view of {*}Planner{*}'s *TableConfig* + the {*}ExecNode{*}'s {*}persistedConfig{*}. To achieve that the *getMergedConfig* methods of *PythonConfigUtil* must be changed, and also the temp solution in *PythonFunctionFactory#getPythonFunction* must be changed as well: {noformat} if (config instanceof TableConfig) { PythonDependencyUtils.merge(mergedConfig, ((TableConfig) config).getConfiguration()); } else { PythonDependencyUtils.merge(mergedConfig, (Configuration) config); }{noformat} was: Currently, *ExecNodeConfiguration* holds *TableConfig* on top of the *plannerConfig* and the *persistedConfig,* since it's needed by the *CodeGeneratorContext* basically for the {*}nullCheck{*}. The *nullCheck* should be deprecated and removed which will facilitate the usage of the simple iface: *ReadableConfig* in *CodeGeneratorContext* ** instead of *TableConfig* and the *TableConfig* could be removed > Remove getTableConfig from ExecNodeConfiguration > ------------------------------------------------ > > Key: FLINK-26190 > URL: https://issues.apache.org/jira/browse/FLINK-26190 > Project: Flink > Issue Type: Sub-task > Components: Table SQL / Planner > Reporter: Marios Trivyzas > Priority: Major > > Currently, *ExecNodeConfig* holds *TableConfig* instead of *ReadableConfig* > for the configuration coming from the planner, because it's used by > *CommonPythonUtil#getMergedConfig.* This should be fixed, so that > *CommonPythonUtil#getMergedConfig* cam use a *ReadableConfig* instead, and > then we can pass the *ExecNodeConfig* which holds the complete view of > {*}Planner{*}'s *TableConfig* + the {*}ExecNode{*}'s {*}persistedConfig{*}. > > To achieve that the *getMergedConfig* methods of *PythonConfigUtil* must be > changed, and also the temp solution in > *PythonFunctionFactory#getPythonFunction* must be changed as well: > {noformat} > if (config instanceof TableConfig) { > PythonDependencyUtils.merge(mergedConfig, ((TableConfig) > config).getConfiguration()); > } else { > PythonDependencyUtils.merge(mergedConfig, (Configuration) config); > }{noformat} -- This message was sent by Atlassian Jira (v8.20.1#820001)