[
https://issues.apache.org/jira/browse/CALCITE-5227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17578545#comment-17578545
]
Daniel Glöckner commented on CALCITE-5227:
------------------------------------------
Not sure how {{-Djanino.version=3.0.11}} would work? Janino is a compile-time
dependency of Calcite and there are breaking changes in Janino's APIs afaik.
Judging from the discussion in the Janino project (issue mentioned above)
there's probably no easy fix available.
The best ideas so far are
* change the code generation in Calcite to produce fewer local variables
* set the target version to 6 when configuring Janino in Calcite
> Janino upgrade breaks SELECTs with many projects causing JVM crashes
> --------------------------------------------------------------------
>
> Key: CALCITE-5227
> URL: https://issues.apache.org/jira/browse/CALCITE-5227
> Project: Calcite
> Issue Type: Bug
> Affects Versions: 1.30.0
> Reporter: Daniel Glöckner
> Priority: Critical
>
> In our case we have SELECTs with > 1000 project fields. You might say this is
> a bit crazy but this is how our data model looks like ;)
> We recently upgraded to Calcite 1.30 and noticed JVM crashes for such
> SELECTs.
> After thorough analysis we found that the byte code produced by newer Janino
> versions is 350 times larger compared to the byte code produced by javac.
> I created a unit test to reproduce the issue in Calcite code base:
> https://github.com/apache/calcite/commit/f4d4815dff5537c56b34b36794c71d7a9829eec6
> The Janino issue is tracked here:
> https://github.com/janino-compiler/janino/issues/174
--
This message was sent by Atlassian Jira
(v8.20.10#820010)