[ https://issues.apache.org/jira/browse/FLINK-34156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17824275#comment-17824275 ]
Sergey Nuyanzin edited comment on FLINK-34156 at 3/7/24 8:20 AM: ----------------------------------------------------------------- I do not see the real benefit from such migration ({{{}ConverterRules{}}}), besides that there is more code than just {{{}ConverterRules{}}}) and then we could come up with everything. Rules written both in Scala and Java are working fine together, so it was not an issue before, I don't think it is an issue now. The real reason of this migration is inability to use non deprecated code to configure these rules in Scala We could think about full migration to java in future, however i guess it should be discussed in ML as well UPD: Also I updated description was (Author: sergey nuyanzin): I do not see the real benefit from such migration ({{ConverterRules}}), besides that there is more code than just {{ConverterRules}}) and then we could come up with everything. Rules written both in Scala and Java are working fine together, so it was not an issue before, I don't think it is an issue now. The real reason of this migration is inability to use non deprecated code to configure these rules in Scala We could think about full migration to java in future, however i guess it should be discussed in ML as well > Move Flink Calcite rules from Scala to Java > ------------------------------------------- > > Key: FLINK-34156 > URL: https://issues.apache.org/jira/browse/FLINK-34156 > Project: Flink > Issue Type: Technical Debt > Components: Table SQL / Planner > Reporter: Sergey Nuyanzin > Assignee: Sergey Nuyanzin > Priority: Major > Fix For: 2.0.0 > > > This is an umbrella task for migration of Calcite rules from Scala to Java > mentioned at [https://cwiki.apache.org/confluence/display/FLINK/2.0+Release] > The reason is that since 1.28.0 ( CALCITE-4787 - Move core to use Immutables > instead of ImmutableBeans ) Calcite started to use Immutables > ([https://immutables.github.io/]) and since 1.29.0 removed ImmutableBeans ( > CALCITE-4839 - Remove remnants of ImmutableBeans post 1.28 release ). All > rule configuration related api which is not Immutables based is marked as > deprecated. Since Immutables implies code generation while java compilation > it is seems impossible to use for rules in Scala code. > We could follow steps from javadocs of {{org.apache.calcite.plan.RelRule}} > written for migration from deprecated java api to Immutables. > It would work for scala to java migration as well. > Please keep in mind that there is +*no need*+ to migrate rules extending > +ConverterRule+ since these rules do not have such problem. -- This message was sent by Atlassian Jira (v8.20.10#820010)