You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Konstantin Orlov (Jira)" <ji...@apache.org> on 2021/03/03 15:48:00 UTC

[jira] [Commented] (IGNITE-14163) SQL. Calcite: Error: Failed to plan query. (state=50000,code=1)

    [ https://issues.apache.org/jira/browse/IGNITE-14163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17294607#comment-17294607 ] 

Konstantin Orlov commented on IGNITE-14163:
-------------------------------------------

[~tledkov-gridgain], [~jooger], folks, do a review please.

> SQL. Calcite:  Error: Failed to plan query. (state=50000,code=1)
> ----------------------------------------------------------------
>
>                 Key: IGNITE-14163
>                 URL: https://issues.apache.org/jira/browse/IGNITE-14163
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>            Reporter: Fedor Malchikov 
>            Assignee: Konstantin Orlov
>            Priority: Blocker
>         Attachments: caches.xml, create_env.txt, data-reg.xml, ignite.log, server.xml, sqlline.log
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Problem reproduced on inner , right,  right outer joins and unions, but not affected left\ left outer joins. 
> For test db creation please use create_env.txt.
> {code:SQL}
> SELECT t17_1.int_col1, t17_2.int_col1, t17_1.id FROM t17_1 INNER JOIN t17_2 ON t17_1.id=t17_2.id WHERE t17_1.int_col2  IN(0,1,-2,3,-5,7,-11,13,-17,19,-23,29,-31,37,-41,43,-47,53,-59,61,-67,71,-73,79,-83,89,-97) OR t17_1.int_col1 > 10 ORDER BY t17_1.id;
> {code}
> {code:java}
> Error: Failed to plan query. (state=50000,code=1)
> java.sql.SQLException: Failed to plan query.
> 	at org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:1009)
> 	at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:234)
> 	at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:560)
> 	at sqlline.Commands.execute(Commands.java:823)
> 	at sqlline.Commands.sql(Commands.java:733)
> 	at sqlline.SqlLine.dispatch(SqlLine.java:795)
> 	at sqlline.SqlLine.runCommands(SqlLine.java:1706)
> 	at sqlline.Commands.run(Commands.java:1317)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:498)
> 	at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> 	at sqlline.SqlLine.dispatch(SqlLine.java:791)
> 	at sqlline.SqlLine.initArgs(SqlLine.java:595)
> 	at sqlline.SqlLine.begin(SqlLine.java:643)
> 	at sqlline.SqlLine.start(SqlLine.java:373)
> 	at sqlline.SqlLine.main(SqlLine.java:265)
> {code}
> Ignite log:
> {code:java}
> [20:50:31,206][SEVERE][client-connector-#142][JdbcRequestHandler] Failed to execute SQL query [reqId=392, req=JdbcQueryExecuteRequest [schemaName=PUBLIC, pageSize=1024, maxRows=0, sqlQry=SELECT t17_1.int_col1, t17_2.int_col1, t17_1.id FROM t17_1 INNER JOIN t17_2 ON t17_1.id=t17_2.id WHERE t17_1.int_col1  IN(0,1,-2,3,-5,7,-11,13,-17,19,-23,29,-31,37,-41,43,-47,53,-59,61,-67,71,-73,79,-83,89,-97) OR t17_1.int_col1 > 10 ORDER BY t17_1.id, args=Object[] [], stmtType=ANY_STATEMENT_TYPE, autoCommit=true, partResReq=false, explicitTimeout=false, super=JdbcRequest [type=2, reqId=392]]]
> class org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to plan query.
> 	at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:522)
> 	at org.apache.ignite.internal.processors.query.calcite.prepare.QueryPlanCacheImpl.queryPlan(QueryPlanCacheImpl.java:84)
> 	at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:379)
> 	at org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:248)
> 	at org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.querySqlFields(JdbcRequestHandler.java:790)
> 	at org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.executeQuery(JdbcRequestHandler.java:673)
> 	at org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.doHandle(JdbcRequestHandler.java:341)
> 	at org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.handle(JdbcRequestHandler.java:278)
> 	at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:202)
> 	at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:56)
> 	at org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
> 	at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
> 	at org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:97)
> 	at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
> 	at org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> 	at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.UnsupportedOperationException: type not serializable: Sarg[(-∞..0), (0..+∞)] (type org.apache.calcite.util.Sarg)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJson.toJson(RelJson.java:291)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJson.toJson(RelJson.java:727)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJson.toJson(RelJson.java:766)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJson.toJson(RelJson.java:252)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explain_(RelJsonWriter.java:136)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.done(RelJsonWriter.java:95)
> 	at org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explainInputs(RelJsonWriter.java:158)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explain_(RelJsonWriter.java:139)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.done(RelJsonWriter.java:95)
> 	at org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explainInputs(RelJsonWriter.java:158)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explain_(RelJsonWriter.java:139)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.done(RelJsonWriter.java:95)
> 	at org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explainInputs(RelJsonWriter.java:158)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explain_(RelJsonWriter.java:139)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.done(RelJsonWriter.java:95)
> 	at org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explainInputs(RelJsonWriter.java:158)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explain_(RelJsonWriter.java:139)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.done(RelJsonWriter.java:95)
> 	at org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explainInputs(RelJsonWriter.java:158)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explain_(RelJsonWriter.java:139)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.done(RelJsonWriter.java:95)
> 	at org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explainInputs(RelJsonWriter.java:158)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explain_(RelJsonWriter.java:139)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.done(RelJsonWriter.java:95)
> 	at org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explainInputs(RelJsonWriter.java:158)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.explain_(RelJsonWriter.java:139)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.done(RelJsonWriter.java:95)
> 	at org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246)
> 	at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonWriter.toJson(RelJsonWriter.java:65)
> 	at org.apache.ignite.internal.processors.query.calcite.prepare.Fragment.<init>(Fragment.java:79)
> 	at org.apache.ignite.internal.processors.query.calcite.prepare.Fragment.<init>(Fragment.java:71)
> 	at org.apache.ignite.internal.processors.query.calcite.prepare.Splitter$FragmentProto.build(Splitter.java:119)
> 	at org.apache.ignite.internal.processors.query.calcite.prepare.Splitter.go(Splitter.java:56)
> 	at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:572)
> 	at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareSingle(ExecutionServiceImpl.java:543)
> 	at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:502)
> 	... 17 more
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)