Ilya Kasnacheev created IGNITE-7113: ---------------------------------------
Summary: "Key is missing from query" when creating table with key_type=java.lang.String Key: IGNITE-7113 URL: https://issues.apache.org/jira/browse/IGNITE-7113 Project: Ignite Issue Type: Bug Components: sql Affects Versions: 2.3 Reporter: Ilya Kasnacheev When creating a table of {code} CREATE TABLE IF NOT EXISTS TableWithStringKey ( ID VARCHAR PRIMARY KEY, DataNodeId VARCHAR ) WITH "backups=1, cache_name=TableWithStringKey, atomicity=transactional, key_type=java.lang.String, value_type=TableWithStringKey" {code} and attempting an insert later {code} INSERT INTO TableWithStringKey (ID, DataNodeId) VALUES ('ref2', 'src2') {code} There's suddently an exception {code} javax.cache.CacheException: class org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to execute DML statement [stmt=INSERT INTO TableWithStringKey (ID, DataNodeId) VALUES ('ref2', 'src2'), params=null] at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:597) at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:560) at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:382) at com.gridgain.reproducer.IgniteStringKeyTest.insertTest(IgniteStringKeyTest.java:34) ... 24 more Caused by: class org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to execute DML statement [stmt=INSERT INTO TableWithStringKey (ID, DataNodeId) VALUES ('ref2', 'src2'), params=null] at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryDistributedSqlFields(IgniteH2Indexing.java:1459) at org.apache.ignite.internal.processors.query.GridQueryProcessor$5.applyx(GridQueryProcessor.java:1909) at org.apache.ignite.internal.processors.query.GridQueryProcessor$5.applyx(GridQueryProcessor.java:1907) at org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36) at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2445) at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:1914) at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:585) ... 27 more Caused by: class org.apache.ignite.IgniteCheckedException: Key is missing from query at org.apache.ignite.internal.processors.query.h2.dml.UpdatePlanBuilder.createSupplier(UpdatePlanBuilder.java:369) at org.apache.ignite.internal.processors.query.h2.dml.UpdatePlanBuilder.planForInsert(UpdatePlanBuilder.java:211) at org.apache.ignite.internal.processors.query.h2.dml.UpdatePlanBuilder.planForStatement(UpdatePlanBuilder.java:98) at org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor.getPlanForStatement(DmlStatementsProcessor.java:473) at org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor.updateSqlFields(DmlStatementsProcessor.java:170) at org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor.updateSqlFieldsDistributed(DmlStatementsProcessor.java:229) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryDistributedSqlFields(IgniteH2Indexing.java:1453) ... 33 more {code} that goes away if you remove "key_type=java.lang.String" I'm attaching a reproducer class. -- This message was sent by Atlassian JIRA (v6.4.14#64029)