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)

Reply via email to