[ 
https://issues.apache.org/jira/browse/FLINK-24427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17439238#comment-17439238
 ] 

Chesnay Schepler edited comment on FLINK-24427 at 11/5/21, 12:50 PM:
---------------------------------------------------------------------

What is currently blocking you in this investigation?

Conceptually I would think we can use the exact same pattern we used for 
flink-rpc-akka; bundle scala and flink-table-planner in a separate jar, extract 
it at runtime, wrap all APIs in a wrapper that sets the context class loader on 
access.

Sure, it would currently mean we bundle Scala twice, but that's a price I would 
be willing to pay for the time being.

Are there any dependencies on flink-table-planner that actually require the 
code to be accessible for compilation?


was (Author: zentol):
What is currently blocking you in this investigation?

Conceptually I would think we can use the exact same pattern we used for 
flink-rpc-akka; bundle scala and flink-table-planner in a separate jar, extract 
it at runtime, wrap all APIs in a wrapper that sets the context class loader on 
access.

Sure, it would currently mean we bundle Scala twice, but that's a price I would 
be willing to pay for the time being.

Are there any (actual!) compile dependencies on flink-table-planner?

> Hide Scala in flink-table-planner from API
> ------------------------------------------
>
>                 Key: FLINK-24427
>                 URL: https://issues.apache.org/jira/browse/FLINK-24427
>             Project: Flink
>          Issue Type: Sub-task
>          Components: API / Scala, Table SQL / API, Table SQL / Planner
>            Reporter: Timo Walther
>            Priority: Major
>
> FLIP-32 has decoupled the planner from the API. However, the planner code 
> base is still the largest Scala code base we have in Flink that we cannot 
> port to Java easily.
> In order to allow arbitrary Scala versions in the user API, we suggest to 
> hide the Scala version of the planner from the Scala version of the API. The 
> API is mostly developed in Java and contains only a couple of classes 
> implemented in Scala. Those should be easier to maintain for various Scala 
> versions. The planner is already discovered via Java SPI.



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

Reply via email to