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

Ruben Q L edited comment on CALCITE-4136 at 7/22/20, 4:08 PM:
--------------------------------------------------------------

[~julianhyde], I created the "caused by" link, but you're right, strictly 
speaking this was caused by the "preliminary refactoring done in the context of 
CALCITE-3923". I will change the link into "is related to".

I had not looked at CALCITE-4079, so I cannot say much about it, but the 
current ticket seems a serious issue. Any user code that was using e.g. 
FilterCorrelateRule.INSTANCE with 1.23, once they upgrade to 1.24 will not work 
any more because of the NPE. Even though FilterCorrelateRule.INSTANCE will be 
deprecated in 1.24, it should still hold a valid rule instance, so a user could 
expect that their code should continue working as before; but it will not, and 
they will be forced to change it in order to avoid the deprecated rules.
Having said that, since the fix is simple (use the new rules instead of the 
deprecated ones), I would not be against releasing 1.24RC0 as it is.


was (Author: rubenql):
[~julianhyde], I created the "caused by" link, but you're right, strictly 
speaking this was caused by the "preliminary refactoring done in the context of 
CALCITE-3923". I will change the link into "is related to".

I had not looked at CALCITE-4079, so I cannot say much about it, but the 
current ticket seems a serious issue. Any user code that was using e.g. 
FilterCorrelateRule.INSTANCE with 1.23, once they upgrade to 1.24 will not work 
any more because of the NPE. Even though FilterCorrelateRule.INSTANCE will be 
deprecated in 1.24, it should still hold a valid rule instance, so a user could 
expect that their code should continue working as before; but it will not, and 
they will be forced to change it in order to avoid the deprecated rules.

> ReduceExpressionsRule.FILTER_INSTANCE cannot be initialized by some JVM
> -----------------------------------------------------------------------
>
>                 Key: CALCITE-4136
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4136
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: Stamatis Zampetakis
>            Priority: Major
>         Attachments: DeprecatedRulesAreNull.png
>
>
> In certain JVM implementations the field cannot be initialized leading to 
> {{NullPointerException}} when using the rule.
> Few stacktraces are given below:
> {noformat}
> Caused by: java.lang.NullPointerException: at index 0
> at
> com.onwbp.com.google.common.collect.ObjectArrays.checkElementNotNull(ObjectArrays.java:239)
> at
> com.onwbp.com.google.common.collect.ObjectArrays.checkElementsNotNull(ObjectArrays.java:230)
> at
> com.onwbp.com.google.common.collect.ObjectArrays.checkElementsNotNull(ObjectArrays.java:225)
> at
> com.onwbp.com.google.common.collect.ImmutableList.construct(ImmutableList.java:281)
> at
> com.onwbp.com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:239)
> at
> com.onwbp.com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:209)
> at com.onwbp.org.apache.calcite.tools.RuleSets.ofList(RuleSets.java:41)
> {noformat}
> {noformat}
> java.lang.NullPointerException
> at
> org.apache.calcite.plan.AbstractRelOptPlanner.addRule(AbstractRelOptPlanner.java:147)
> at
> org.apache.calcite.plan.volcano.VolcanoPlanner.addRule(VolcanoPlanner.java:416)
> at herddb.sql.CalcitePlanner.runPlanner(CalcitePlanner.java:576)
> at herddb.sql.CalcitePlanner.translate(CalcitePlanner.java:331)
> at herddb.core.TestUtils.scan(TestUtils.java:70)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to