Nikita Amelchev created IGNITE-21492:
----------------------------------------

             Summary: Calcite engine: Unexpected error at query optimizer
                 Key: IGNITE-21492
                 URL: https://issues.apache.org/jira/browse/IGNITE-21492
             Project: Ignite
          Issue Type: Bug
            Reporter: Nikita Amelchev
         Attachments: QueryTest.java

The reproducer attached. The query runs successfully on the old engine.
{noformat}
[2024-02-07T23:01:18,113][ERROR][test-runner-#1%calcite.QueryTest%][PrepareServiceImpl]
 Unexpected error at query optimizer.
 java.lang.AssertionError: null
        at org.apache.calcite.util.mapping.Mappings.create(Mappings.java:67) 
~[calcite-core-1.34.0.jar:1.34.0]
        at 
org.apache.calcite.sql2rel.RelFieldTrimmer.dummyProject(RelFieldTrimmer.java:562)
 ~[calcite-core-1.34.0.jar:1.34.0]
        at 
org.apache.calcite.sql2rel.RelFieldTrimmer.trimFields(RelFieldTrimmer.java:508) 
~[calcite-core-1.34.0.jar:1.34.0]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[?:1.8.0_201]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[?:1.8.0_201]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_201]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_201]
        at org.apache.calcite.util.ReflectUtil$2.invoke(ReflectUtil.java:532) 
~[calcite-core-1.34.0.jar:1.34.0]
        at 
org.apache.calcite.sql2rel.RelFieldTrimmer.dispatchTrimFields(RelFieldTrimmer.java:283)
 ~[calcite-core-1.34.0.jar:1.34.0]
        at 
org.apache.calcite.sql2rel.RelFieldTrimmer.trim(RelFieldTrimmer.java:170) 
~[calcite-core-1.34.0.jar:1.34.0]
        at 
org.apache.calcite.sql2rel.SqlToRelConverter.trimUnusedFields(SqlToRelConverter.java:554)
 ~[calcite-core-1.34.0.jar:1.34.0]
        at 
org.apache.ignite.internal.processors.query.calcite.prepare.IgnitePlanner.trimUnusedFields(IgnitePlanner.java:464)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.prepare.PlannerHelper.optimize(PlannerHelper.java:95)
 ~[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$null$5(CalciteQueryProcessor.java:515)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.prepare.QueryPlanCacheImpl.lambda$queryPlan$0(QueryPlanCacheImpl.java:70)
 ~[classes/:?]
        at 
java.util.concurrent.ConcurrentMap.computeIfAbsent(ConcurrentMap.java:324) 
~[?:1.8.0_201]
        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:512)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.processQuery(CalciteQueryProcessor.java:632)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.parseAndProcessQuery(CalciteQueryProcessor.java:509)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:391)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor$2.applyx(GridQueryProcessor.java:3107)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor$2.applyx(GridQueryProcessor.java:3087)
 ~[classes/:?]
        at 
org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:3822)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.lambda$querySqlFields$3(GridQueryProcessor.java:3133)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuerySafe(GridQueryProcessor.java:3261)
 [classes/:?]
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:3083)
 [classes/:?]
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:3011)
 [classes/:?]
        at 
org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:818)
 [classes/:?]
        at 
org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:766)
 [classes/:?]
        at 
org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:398)
 [classes/:?]
        at 
org.apache.ignite.internal.processors.query.calcite.QueryTest.testLength(QueryTest.java:41)
 [test-classes/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[?:1.8.0_201]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[?:1.8.0_201]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_201]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_201]
        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:2499)
 [test-classes/:?]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
[2024-02-07T23:01:18,130][ERROR][test-runner-#1%calcite.QueryTest%][PrepareServiceImpl]
 Root: null
Original rel:

Sets:

Graphviz:
digraph G {
        root [style=filled,label="Root"];
        root -> subsetError when dumping plan state: 
java.lang.NullPointerException: planner.root

{noformat}




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

Reply via email to