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)