You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Timo Walther (Jira)" <ji...@apache.org> on 2020/01/17 12:10:00 UTC

[jira] [Updated] (FLINK-15635) Allow passing a ClassLoader to EnvironmentSettings

     [ https://issues.apache.org/jira/browse/FLINK-15635?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timo Walther updated FLINK-15635:
---------------------------------
    Description: 
We had a couple of class loading issues in the past because people forgot to use the right classloader in {{flink-table}}. The SQL Client executor code hacks a classloader into the planner process by using {{wrapClassLoader}} that sets the threads context classloader.

Instead we should allow passing a class loader to environment settings. This class loader can be passed to the planner and can be stored in table environment, table config, etc. to have a consistent class loading behavior.

Having this in place should replace the need for {{Thread.currentThread().getContextClassLoader()}} in the entire {{flink-table}} module.

  was:
We had a couple of class loading issues in the past because people forgot to use the right classloader in {{flink-table}}. The SQL Client executor code hacks a classloader into the planner process by using {{wrapClassLoader}} that sets the threads context classloader.

Instead we should allow passing a class loader to environment settings. This class loader can be passed to the planner and can be stored in table environment, table config, etc. to have a consistent class loading behavior.


> Allow passing a ClassLoader to EnvironmentSettings
> --------------------------------------------------
>
>                 Key: FLINK-15635
>                 URL: https://issues.apache.org/jira/browse/FLINK-15635
>             Project: Flink
>          Issue Type: Improvement
>          Components: Table SQL / API, Table SQL / Planner
>            Reporter: Timo Walther
>            Priority: Major
>
> We had a couple of class loading issues in the past because people forgot to use the right classloader in {{flink-table}}. The SQL Client executor code hacks a classloader into the planner process by using {{wrapClassLoader}} that sets the threads context classloader.
> Instead we should allow passing a class loader to environment settings. This class loader can be passed to the planner and can be stored in table environment, table config, etc. to have a consistent class loading behavior.
> Having this in place should replace the need for {{Thread.currentThread().getContextClassLoader()}} in the entire {{flink-table}} module.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)