Hi Maksim did you look into this? On Tue., Feb. 22, 2022, 9:51 a.m. John Smith, <java.dev....@gmail.com> wrote:
> Hi. This is it. > > create table if not exists car_code ( > provider_id int, > car_id int, > car_code varchar(16), > primary key (provider_id, car_id) > ) with "template=replicatedTpl, key_type=CarCodeKey, value_type=CarCode"; > > select > car_id > from car_code > where > provider_id = ? and > car_code = ? > order by car_id asc limit 1; > > On Mon, Feb 21, 2022 at 3:24 AM Maksim Timonin <timoninma...@apache.org> > wrote: > >> Hi, >> >> Yes, it looks strange. Could you please share your DDLs and queries that >> led to the exception? We can add a compatibility test and it will help us >> to investigate the issue. >> >> Maksim >> >> On Tue, Feb 15, 2022 at 3:28 PM John Smith <java.dev....@gmail.com> >> wrote: >> >>> It's weird. I dropped the table and recreated it without restarting the >>> client applications and it started worked. >>> >>> This hapenned after upgrading from 2.8.1 to 2.12.0 >>> >>> What's even funnier. I did the upgrade on my dev cluster first and let >>> everything run for a couple weeks just to be sure. >>> >>> On Tue., Feb. 15, 2022, 3:13 a.m. Maksim Timonin, < >>> timoninma...@apache.org> wrote: >>> >>>> Hi, >>>> >>>> It looks like you have a column with non-String type, but try to query >>>> it with a String argument. >>>> >>>> Could you please share your DDL for table and query parameters for this >>>> query? >>>> >>>> Thanks, >>>> Maksim >>>> >>>> On Tue, Feb 15, 2022 at 8:54 AM John Smith <java.dev....@gmail.com> >>>> wrote: >>>> >>>>> Hi, on the client side I'm getting the below Exception and on the >>>>> server side it is pasted below. >>>>> >>>>> >>>>> javax.cache.CacheException: Failed to execute map query on remote node >>>>> [nodeId=6e350b53-7224-4b11-b81b-00f44c699b87, errMsg=General error: >>>>> \"class >>>>> org.apache.ignite.IgniteCheckedException: Runtime failure on lookup row: >>>>> IndexSearchRowImpl >>>>> [rowHnd=org.apache.ignite.internal.processors.query.h2.index.QueryIndexRowHandler@d3e431c]\"; >>>>> SQL statement:\nSELECT\n__Z0.XXXXXX_ID __C0_0\nFROM PUBLIC.XXXXXX_CODE >>>>> __Z0\nWHERE (__Z0.PROVIDER_ID = ?1) AND (__Z0.XXXXXX_CODE = ?2)\nORDER BY >>>>> 1 >>>>> LIMIT 1 [50000-197]]\n\tat >>>>> org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.fail(GridReduceQueryExecutor.java:235)\n\tat >>>>> org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.onFail(GridReduceQueryExecutor.java:214)\n\tat >>>>> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.onMessage(IgniteH2Indexing.java:2193)\n\tat >>>>> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.lambda$start$22(IgniteH2Indexing.java:2132)\n\tat >>>>> org.apache.ignite.internal.managers.communication.GridIoManager$ArrayListener.onMessage(GridIoManager.java:3480)\n\tat >>>>> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1907)\n\tat >>>>> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1528)\n\tat >>>>> org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:242)\n\tat >>>>> org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1421)\n\tat >>>>> org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55)\n\tat >>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n\tat >>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\tat >>>>> java.lang.Thread.run(Thread.java:748)\n >>>>> >>>>> [05:42:24,158][SEVERE][query-#1422%xxxxxx%][GridMapQueryExecutor] >>>>> Failed to execute local query. >>>>> class org.apache.ignite.internal.processors.query.IgniteSQLException: >>>>> General error: "class org.apache.ignite.IgniteCheckedException: Runtime >>>>> failure on lookup row: IndexSearchRowImpl >>>>> [rowHnd=org.apache.ignite.internal.processors.query.h2.index.QueryIndexRowHandler@75eb2111]"; >>>>> SQL statement: >>>>> SELECT >>>>> __Z0.XXXXXX_ID __C0_0 >>>>> FROM PUBLIC.XXXXXX_CODE __Z0 >>>>> WHERE (__Z0.PROVIDER_ID = ?1) AND (__Z0.XXXXXX_CODE = ?2) >>>>> ORDER BY 1 LIMIT 1 [50000-197] >>>>> at >>>>> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQuery(IgniteH2Indexing.java:875) >>>>> at >>>>> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQueryWithTimer(IgniteH2Indexing.java:962) >>>>> at >>>>> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onQueryRequest0(GridMapQueryExecutor.java:454) >>>>> at >>>>> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onQueryRequest(GridMapQueryExecutor.java:274) >>>>> at >>>>> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.onMessage(IgniteH2Indexing.java:2187) >>>>> at >>>>> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.lambda$start$22(IgniteH2Indexing.java:2132) >>>>> at >>>>> org.apache.ignite.internal.managers.communication.GridIoManager$ArrayListener.onMessage(GridIoManager.java:3480) >>>>> at >>>>> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1907) >>>>> at >>>>> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1528) >>>>> at >>>>> org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:242) >>>>> at >>>>> org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1421) >>>>> at >>>>> org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55) >>>>> 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.h2.jdbc.JdbcSQLException: General error: "class >>>>> org.apache.ignite.IgniteCheckedException: Runtime failure on lookup row: >>>>> IndexSearchRowImpl >>>>> [rowHnd=org.apache.ignite.internal.processors.query.h2.index.QueryIndexRowHandler@75eb2111]"; >>>>> SQL statement: >>>>> SELECT >>>>> __Z0.XXXXXX_ID __C0_0 >>>>> FROM PUBLIC.XXXXXX_CODE __Z0 >>>>> WHERE (__Z0.PROVIDER_ID = ?1) AND (__Z0.XXXXXX_CODE = ?2) >>>>> ORDER BY 1 LIMIT 1 [50000-197] >>>>> at org.h2.message.DbException.getJdbcSQLException(DbException.java:357) >>>>> at org.h2.message.DbException.get(DbException.java:168) >>>>> at org.h2.message.DbException.convert(DbException.java:307) >>>>> at >>>>> org.apache.ignite.internal.processors.query.h2.database.H2TreeIndex.find(H2TreeIndex.java:214) >>>>> at org.h2.index.BaseIndex.find(BaseIndex.java:130) >>>>> at org.h2.index.IndexCursor.find(IndexCursor.java:176) >>>>> at org.h2.table.TableFilter.next(TableFilter.java:471) >>>>> at >>>>> org.h2.command.dml.Select$LazyResultQueryFlat.fetchNextRow(Select.java:1452) >>>>> at org.h2.result.LazyResult.hasNext(LazyResult.java:79) >>>>> at org.h2.result.LazyResult.next(LazyResult.java:59) >>>>> at org.h2.command.dml.Select.queryFlat(Select.java:527) >>>>> at org.h2.command.dml.Select.queryWithoutCache(Select.java:633) >>>>> at org.h2.command.dml.Query.queryWithoutCacheLazyCheck(Query.java:114) >>>>> at org.h2.command.dml.Query.query(Query.java:352) >>>>> at org.h2.command.dml.Query.query(Query.java:333) >>>>> at org.h2.command.CommandContainer.query(CommandContainer.java:114) >>>>> at org.h2.command.Command.executeQuery(Command.java:202) >>>>> at >>>>> org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:114) >>>>> at >>>>> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQuery(IgniteH2Indexing.java:865) >>>>> ... 14 more >>>>> Caused by: class org.apache.ignite.IgniteCheckedException: Runtime >>>>> failure on lookup row: IndexSearchRowImpl >>>>> [rowHnd=org.apache.ignite.internal.processors.query.h2.index.QueryIndexRowHandler@75eb2111 >>>>> ] >>>>> at >>>>> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.findOne(BPlusTree.java:1387) >>>>> at >>>>> org.apache.ignite.internal.cache.query.index.sorted.inline.InlineIndexImpl.find(InlineIndexImpl.java:101) >>>>> at >>>>> org.apache.ignite.internal.processors.query.h2.database.H2TreeIndex.find(H2TreeIndex.java:207) >>>>> ... 29 more >>>>> Caused by: class org.apache.ignite.IgniteCheckedException: Rows cannot >>>>> be compared >>>>> at >>>>> org.apache.ignite.internal.processors.query.h2.index.H2RowComparator.compareValues(H2RowComparator.java:152) >>>>> at >>>>> org.apache.ignite.internal.processors.query.h2.index.H2RowComparator.compareRow(H2RowComparator.java:117) >>>>> at >>>>> org.apache.ignite.internal.cache.query.index.sorted.inline.InlineIndexTree.compareFullRows(InlineIndexTree.java:358) >>>>> at >>>>> org.apache.ignite.internal.cache.query.index.sorted.inline.InlineIndexTree.compare(InlineIndexTree.java:338) >>>>> at >>>>> org.apache.ignite.internal.cache.query.index.sorted.inline.InlineIndexTree.compare(InlineIndexTree.java:71) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.compare(BPlusTree.java:5430) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.findInsertionPoint(BPlusTree.java:5350) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$1100(BPlusTree.java:100) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Search.run0(BPlusTree.java:307) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5944) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Search.run(BPlusTree.java:287) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5930) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.readPage(PageHandler.java:174) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.persistence.DataStructure.read(DataStructure.java:415) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.read(BPlusTree.java:6131) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.findDown(BPlusTree.java:1449) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doFind(BPlusTree.java:1416) >>>>> at >>>>> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.findOne(BPlusTree.java:1379) >>>>> ... 31 more >>>>> Caused by: org.h2.message.DbException: Hexadecimal string with odd >>>>> number of characters: "5" [90003-197] >>>>> at org.h2.message.DbException.get(DbException.java:179) >>>>> at org.h2.message.DbException.get(DbException.java:155) >>>>> at org.h2.util.StringUtils.convertHexToBytes(StringUtils.java:913) >>>>> at org.h2.value.Value.convertTo(Value.java:1078) >>>>> at org.h2.value.Value.convertTo(Value.java:617) >>>>> at org.h2.value.Value.convertTo(Value.java:592) >>>>> at org.h2.table.Table.compareTypeSafe(Table.java:1187) >>>>> at >>>>> org.apache.ignite.internal.processors.query.h2.index.H2RowComparator.compareValues(H2RowComparator.java:149) >>>>> ... 48 more >>>>> Caused by: org.h2.jdbc.JdbcSQLException: Hexadecimal string with odd >>>>> number of characters: "5" [90003-197] >>>>> at org.h2.message.DbException.getJdbcSQLException(DbException.java:357) >>>>> ... 56 more >>>>> >>>>