Sergey Korotkov created IGNITE-24730:
----------------------------------------

             Summary: Calcite. Exception in TPC-H query #20
                 Key: IGNITE-24730
                 URL: https://issues.apache.org/jira/browse/IGNITE-24730
             Project: Ignite
          Issue Type: Bug
            Reporter: Sergey Korotkov
         Attachments: TpchQ20Test.java

The below exception occurs on planning.

Reproducer is attached

To run it this PR needs to be merged: 
[https://github.com/apache/ignite/pull/11906]
{noformat}
[2025-03-07T17:27:34,552][ERROR][test-runner-#494%tpch.TpchQ20Test%][PrepareServiceImpl]
 Unexpected error at query optimizer.
 java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7
        at 
org.apache.calcite.util.mapping.Mappings$PartialFunctionImpl.getTargetOpt(Mappings.java:1780)
 ~[calcite-core-1.37.0.jar:1.37.0]
        at 
org.apache.ignite.internal.processors.query.calcite.trait.DistributionTrait.apply(DistributionTrait.java:161)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.rel.IgniteFilter.passThroughDistribution(IgniteFilter.java:197)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.trait.TraitUtils.lambda$passThrough$1(TraitUtils.java:415)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.trait.TraitUtils$PropagationContext.propagate(TraitUtils.java:545)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.trait.TraitUtils.passThrough(TraitUtils.java:415)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.trait.TraitsAwareIgniteRel.passThroughTraits(TraitsAwareIgniteRel.java:41)
 ~[classes/:?]
        at 
org.apache.calcite.rel.PhysicalNode.passThrough(PhysicalNode.java:79) 
~[calcite-core-1.37.0.jar:1.37.0]
        at 
org.apache.calcite.plan.volcano.RelSubset.passThrough(RelSubset.java:509) 
~[calcite-core-1.37.0.jar:1.37.0]
        at 
org.apache.calcite.plan.volcano.TopDownRuleDriver.convert(TopDownRuleDriver.java:586)
 ~[calcite-core-1.37.0.jar:1.37.0]
        at 
org.apache.calcite.plan.volcano.TopDownRuleDriver.getOptimizeInputTask(TopDownRuleDriver.java:549)
 ~[calcite-core-1.37.0.jar:1.37.0]
        at 
org.apache.calcite.plan.volcano.TopDownRuleDriver.access$400(TopDownRuleDriver.java:51)
 ~[calcite-core-1.37.0.jar:1.37.0]
        at 
org.apache.calcite.plan.volcano.TopDownRuleDriver$OptimizeGroup.perform(TopDownRuleDriver.java:351)
 ~[calcite-core-1.37.0.jar:1.37.0]
        at 
org.apache.calcite.plan.volcano.TopDownRuleDriver.drive(TopDownRuleDriver.java:109)
 ~[calcite-core-1.37.0.jar:1.37.0]
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.findBestExp(VolcanoPlanner.java:524)
 ~[calcite-core-1.37.0.jar:1.37.0]
        at 
org.apache.calcite.tools.Programs$RuleSetProgram.run(Programs.java:328) 
~[calcite-core-1.37.0.jar:1.37.0]
        at 
org.apache.ignite.internal.processors.query.calcite.prepare.IgnitePlanner.transform(IgnitePlanner.java:381)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.prepare.PlannerHelper.optimize(PlannerHelper.java:107)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.prepare.PrepareServiceImpl.prepareQuery(PrepareServiceImpl.java:168)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.prepare.PrepareServiceImpl.prepareSingle(PrepareServiceImpl.java:94)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.lambda$parseAndProcessQuery$5(CalciteQueryProcessor.java:553)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.prepare.QueryPlanCacheImpl.lambda$queryPlan$0(QueryPlanCacheImpl.java:70)
 ~[classes/:?]
        at 
java.base/java.util.concurrent.ConcurrentMap.computeIfAbsent(ConcurrentMap.java:330)
 ~[?:?]
        at 
org.apache.ignite.internal.processors.query.calcite.prepare.QueryPlanCacheImpl.queryPlan(QueryPlanCacheImpl.java:70)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.lambda$parseAndProcessQuery$6(CalciteQueryProcessor.java:550)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.processQuery(CalciteQueryProcessor.java:701)
 [classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.parseAndProcessQuery(CalciteQueryProcessor.java:547)
 [classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:420)
 [classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.integration.AbstractBasicIntegrationTest.sql(AbstractBasicIntegrationTest.java:241)
 [test-classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.integration.AbstractBasicIntegrationTest.sql(AbstractBasicIntegrationTest.java:236)
 [test-classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.integration.tpch.TpchQ20Test.testQ20(TpchQ20Test.java:37)
 [test-classes/:?]
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[?:?]
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 ~[?:?]
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:?]
        at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
 [junit-4.12.jar:4.12]
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
 [junit-4.12.jar:4.12]
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
 [junit-4.12.jar:4.12]
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
 [junit-4.12.jar:4.12]
        at 
org.apache.ignite.testframework.junits.GridAbstractTest$6.run(GridAbstractTest.java:2508)
 [test-classes/:?]
        at java.base/java.lang.Thread.run(Thread.java:829) [?:?]
{noformat}



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

Reply via email to