[ 
https://issues.apache.org/jira/browse/IMPALA-14624?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Smith closed IMPALA-14624.
----------------------------------
    Resolution: Fixed

Calcite code changed so this is no longer an issue.

> Calcite planning fails when TRACE logging enabled
> -------------------------------------------------
>
>                 Key: IMPALA-14624
>                 URL: https://issues.apache.org/jira/browse/IMPALA-14624
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Frontend
>            Reporter: Michael Smith
>            Priority: Major
>              Labels: calcite
>
> I ran into a failure after enabling TRACE logging in org.apache.calcite and 
> running the TPC-DS decimal_v2 test suite. Tests immediately fail with
> {code}
> I20251210 16:22:58.420078 59661 jni-util.cc:321] 
> 2645d7c6626f1738:66b75f0400000000] java.lang.NullPointerException
>         at 
> org.apache.impala.calcite.schema.FilterSelectivityEstimator.getMaxNDV(FilterSelectivityEstimator.java:291)
>         at 
> org.apache.impala.calcite.schema.FilterSelectivityEstimator.computeEqualsSelectivity(FilterSelectivityEstimator.java:168)
>         at 
> org.apache.impala.calcite.schema.FilterSelectivityEstimator.estimateCallSelectivity(FilterSelectivityEstimator.java:116)
>         at 
> org.apache.impala.calcite.schema.FilterSelectivityEstimator.estimateSelectivity(FilterSelectivityEstimator.java:74)
>         at 
> org.apache.impala.calcite.schema.FilterSelectivityEstimator.computeConjunctionSelectivity(FilterSelectivityEstimator.java:257)
>         at 
> org.apache.impala.calcite.schema.FilterSelectivityEstimator.estimateCallSelectivity(FilterSelectivityEstimator.java:118)
>         at 
> org.apache.impala.calcite.schema.FilterSelectivityEstimator.estimateSelectivity(FilterSelectivityEstimator.java:74)
>         at 
> org.apache.impala.calcite.schema.ImpalaRelMdRowCount.getRowCount(ImpalaRelMdRowCount.java:72)
>         at 
> org.apache.calcite.rel.metadata.janino.GeneratedMetadata_RowCountHandler.getRowCount_$(Unknown
>  Source)
>         at 
> org.apache.calcite.rel.metadata.janino.GeneratedMetadata_RowCountHandler.getRowCount(Unknown
>  Source)
>         at 
> org.apache.calcite.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:259)
>         at 
> org.apache.calcite.rel.metadata.RelMdRowCount.getRowCount(RelMdRowCount.java:142)
>         at 
> org.apache.calcite.rel.metadata.janino.GeneratedMetadata_RowCountHandler.getRowCount_$(Unknown
>  Source)
>         at 
> org.apache.calcite.rel.metadata.janino.GeneratedMetadata_RowCountHandler.getRowCount(Unknown
>  Source)
>         at 
> org.apache.calcite.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:259)
>         at 
> org.apache.calcite.rel.metadata.RelMdRowCount.getRowCount(RelMdRowCount.java:142)
>         at 
> org.apache.calcite.rel.metadata.janino.GeneratedMetadata_RowCountHandler.getRowCount_$(Unknown
>  Source)
>         at 
> org.apache.calcite.rel.metadata.janino.GeneratedMetadata_RowCountHandler.getRowCount(Unknown
>  Source)
>         at 
> org.apache.calcite.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:259)
>         at 
> org.apache.calcite.rel.metadata.RelMdRowCount.getRowCount(RelMdRowCount.java:146)
>         at 
> org.apache.calcite.rel.metadata.janino.GeneratedMetadata_RowCountHandler.getRowCount_$(Unknown
>  Source)
>         at 
> org.apache.calcite.rel.metadata.janino.GeneratedMetadata_RowCountHandler.getRowCount(Unknown
>  Source)
>         at 
> org.apache.calcite.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:259)
>         at 
> org.apache.calcite.plan.hep.HepPlanner.dumpGraph(HepPlanner.java:1048)
>         at 
> org.apache.calcite.plan.hep.HepPlanner.applyTransformationResults(HepPlanner.java:775)
>         at 
> org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:559)
>         at 
> org.apache.calcite.plan.hep.HepPlanner.applyRules(HepPlanner.java:420)
>         at 
> org.apache.calcite.plan.hep.HepPlanner.executeRuleCollection(HepPlanner.java:286)
>         at 
> org.apache.calcite.plan.hep.HepInstruction$RuleCollection$State.execute(HepInstruction.java:105)
>         at 
> org.apache.calcite.plan.hep.HepPlanner.lambda$executeProgram$0(HepPlanner.java:211)
>         at 
> com.google.common.collect.ImmutableList.forEach(ImmutableList.java:422)
>         at 
> org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:210)
>         at 
> org.apache.calcite.plan.hep.HepProgram$State.execute(HepProgram.java:118)
>         at 
> org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:205)
>         at 
> org.apache.calcite.plan.hep.HepPlanner.findBestExp(HepPlanner.java:191)
>         at 
> org.apache.impala.calcite.service.CalciteRelNodeConverter.runProgram(CalciteRelNodeConverter.java:245)
>         at 
> org.apache.impala.calcite.service.CalciteRelNodeConverter.convert(CalciteRelNodeConverter.java:151)
>         at 
> org.apache.impala.calcite.service.CalciteSingleNodePlanner.createSingleNodePlan(CalciteSingleNodePlanner.java:65)
>         at 
> org.apache.impala.planner.Planner.createPlanFragments(Planner.java:137)
>         at org.apache.impala.planner.Planner.createPlans(Planner.java:314)
>         at 
> org.apache.impala.service.Frontend.createExecRequest(Frontend.java:2044)
>         at 
> org.apache.impala.service.Frontend.getPlannedExecRequest(Frontend.java:3374)
>         at 
> org.apache.impala.service.Frontend.doCreateExecRequest(Frontend.java:3148)
>         at 
> org.apache.impala.service.Frontend.getTExecRequest(Frontend.java:2553)
>         at 
> org.apache.impala.service.Frontend.getTExecRequestWithFallback(Frontend.java:2404)
>         at 
> org.apache.impala.service.Frontend.createExecRequest(Frontend.java:2106)
>         at 
> org.apache.impala.service.JniFrontend.createExecRequest(JniFrontend.java:175)
> {code}
> Setup was {{start-impala-cluster.py}}, go to localhost:25000/log_level and 
> add logging for {{org.apache.calcite}}, then run {{impala-py.test 
> tests/query_test/test_tpcds_queries.py::TestTpcdsDecimalV2Query}}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to