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