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