Fedor Malchikov created IGNITE-14148:
-----------------------------------------
Summary: SQL. Calcite: Failed to map fragment to location.
Replicated query parts are not co-located on all nodes (state=50000,code=1)
Key: IGNITE-14148
URL: https://issues.apache.org/jira/browse/IGNITE-14148
Project: Ignite
Issue Type: Bug
Reporter: Fedor Malchikov
Attachments: caches.xml, data-reg.xml,
dml_merge_with_memory..calcite.sql.log, ignite.1.node1.1.log, server.xml
Problem reproduced only for tables with "TEMPLATE=repl-atomic-full_sync" or
"TEMPLATE=repl-tx-full_sync".
STR:
{code:SQL}
CREATE TABLE t7 ( id INT NOT NULL, bool_col BOOLEAN, tinyint_col TINYINT,
smallint_col SMALLINT, int_col INT, bigint_col BIGINT, varchar_col VARCHAR,
char_col CHAR, float_col FLOAT, double_col DOUBLE, time_col TIME, PRIMARY KEY
(id)
) WITH "TEMPLATE=repl-tx-full_sync";
INSERT INTO t7
(id,bool_col,tinyint_col,smallint_col,int_col,bigint_col,varchar_col,char_col,float_col,double_col,time_col)
VALUES
(8,TRUE,0,0,0,0,'string_8','string_8',0,8,'05:46:48'),(9,FALSE,-1,-1,-1,-1,'string_9','string_9',-1.1,9,'05:46:49'),(10,TRUE,1,1,1,1,'string_10','string_10',1.1,10,'05:46:50'),(-11,FALSE,-128,-32768,-2147483648,-9223372036854775808,'string_11','string_11',-11,11,'05:46:51'),(12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(13,FALSE,-127,-32767,-2147483647,-9223372036854775807,'string_13','string_13',13,13,'05:46:53'),(14,TRUE,126,32766,2147483646,9223372036854775806,'string_14','string_14',14,14,'05:46:54'),(15,FALSE,15,15,15,15,'string_15','string_15',15,15,'05:46:55'),(-16,TRUE,-16,-16,-16,-16,'string_16','string_16',-16,16,'05:46:56'),(17,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
SELECT * FROM t7 WHERE id=7 OR id=10001 ORDER BY id;
{code}
Errors:
{code:java}
Error:
org.apache.ignite.internal.processors.query.calcite.metadata.ColocationMappingException:
Failed to map fragment to location. Replicated query parts are not co-located
on all nodes (state=50000,code=1)
java.sql.SQLException:
org.apache.ignite.internal.processors.query.calcite.metadata.ColocationMappingException:
Failed to map fragment to location. Replicated query parts are not co-located
on all nodes
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}
[16:05:13,485][SEVERE][client-connector-#62][ClientListenerNioListener] Failed
to process client request [req=JdbcQueryExecuteRequest [schemaName=PUBLIC,
pageSize=1024, maxRows=0, sqlQry=SELECT * FROM t6 WHERE id=6 OR id=10001,
args=Object[] [], stmtType=ANY_STATEMENT_TYPE, autoCommit=true,
partResReq=false, explicitTimeout=false, super=JdbcRequest [type=2, reqId=58]]]
java.lang.AssertionError:
org.apache.ignite.internal.processors.query.calcite.metadata.ColocationMappingException:
Failed to map fragment to location. Replicated query parts are not co-located
on all nodes
at
org.apache.ignite.internal.processors.query.calcite.metadata.FragmentMapping.create(FragmentMapping.java:82)
at
org.apache.ignite.internal.processors.query.calcite.metadata.IgniteMdFragmentMapping.fragmentMapping(IgniteMdFragmentMapping.java:196)
at
GeneratedMetadataHandler_FragmentMappingMetadata.fragmentMapping_$(Unknown
Source)
at
GeneratedMetadataHandler_FragmentMappingMetadata.fragmentMapping(Unknown Source)
at
org.apache.ignite.internal.processors.query.calcite.metadata.RelMetadataQueryEx.fragmentMapping(RelMetadataQueryEx.java:97)
at
org.apache.ignite.internal.processors.query.calcite.metadata.IgniteMdFragmentMapping._fragmentMapping(IgniteMdFragmentMapping.java:216)
at
org.apache.ignite.internal.processors.query.calcite.prepare.Fragment.mapping(Fragment.java:154)
at
org.apache.ignite.internal.processors.query.calcite.prepare.Fragment.map(Fragment.java:148)
at
org.apache.ignite.internal.processors.query.calcite.prepare.QueryTemplate.map(QueryTemplate.java:95)
at
org.apache.ignite.internal.processors.query.calcite.prepare.QueryTemplate.map(QueryTemplate.java:71)
at
org.apache.ignite.internal.processors.query.calcite.prepare.AbstractMultiStepPlan.init(AbstractMultiStepPlan.java:92)
at
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:672)
at
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executePlan(ExecutionServiceImpl.java:661)
at
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executePlans(ExecutionServiceImpl.java:399)
at
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:381)
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:
org.apache.ignite.internal.processors.query.calcite.metadata.ColocationMappingException:
Failed to map fragment to location. Replicated query parts are not co-located
on all nodes
at
org.apache.ignite.internal.processors.query.calcite.metadata.ColocationGroup.colocate(ColocationGroup.java:152)
at
org.apache.ignite.internal.processors.query.calcite.metadata.FragmentMapping.create(FragmentMapping.java:79)
... 29 more
{code}
The problem is repeated both on a single-node cluster and on a multi.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)