[ 
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)

Reply via email to