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

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

FWIW, I also created a branch with the two test cases and the upgrade: 
[julianhyde/5227-janino-wide|https://github.com/julianhyde/calcite/tree/5227-janino-wide].

Can you please test whether Calcite 1.32 (which upgrades Janino from 3.1.6 to 
3.1.8 via CALCITE-5278) fixes your original issue? We're in a pickle either way:
 * If your issue is not fixed then we need to log a new bug against Janino.
 * If your issue is fixed then we need to devise a test case to add to Calcite. 
Fixing serious issues without adding a test case is not an acceptable 
engineering practice.

> 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
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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