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

Julian Hyde commented on CALCITE-5227:
--------------------------------------

In CALCITE-3745 we had to make significant changes when upgrading from Janino 
3.0.11 to 3.1.6, so I agree that downgrading Janino is not an option.

Changing Calcite's code generator to produce fewer local variables would be 
incredibly difficult.

Next step would be to investigate setting target version to 6. I don't recall 
using any modern Java features.

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

Reply via email to