You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by John Smith <ja...@gmail.com> on 2022/02/15 05:53:20 UTC

What is org.apache.ignite.IgniteCheckedException: Runtime failure on lookup row:

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

Re: What is org.apache.ignite.IgniteCheckedException: Runtime failure on lookup row:

Posted by John Smith <ja...@gmail.com>.
Hi it's a lookup table. There roughly 600 entries, they were maualy cut and
pasted in the sql command line tool as one big insert.

insert into car_code
(
provider_id
,car_id
,car_code
)
values
(5,10000,''),
(5,10001,'HONDA'),
(5,10002,'TOYOTA'),
(5,10003,'LEXUS'),
(5,10004,'FORD')
;

On Fri, Feb 25, 2022 at 5:45 PM Maksim Timonin <ti...@apache.org>
wrote:

> Hi!
>
> I wrote a test with your DDL and query, and it works for me. I need some
> more time to dig into it..
>
> Could you also, please, provide a way (with an example) how you insert
> data to the table?
>
> Thanks,
> Maksim
>
> On Fri, Feb 25, 2022 at 9:32 PM John Smith <ja...@gmail.com> wrote:
>
>> Hi Maksim did you look into this?
>>
>> On Tue., Feb. 22, 2022, 9:51 a.m. John Smith, <ja...@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 <ti...@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 <ja...@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, <
>>>>> timoninmaxim@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 <ja...@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
>>>>>>>
>>>>>>

Re: What is org.apache.ignite.IgniteCheckedException: Runtime failure on lookup row:

Posted by Maksim Timonin <ti...@apache.org>.
Hi!

I wrote a test with your DDL and query, and it works for me. I need some
more time to dig into it..

Could you also, please, provide a way (with an example) how you insert data
to the table?

Thanks,
Maksim

On Fri, Feb 25, 2022 at 9:32 PM John Smith <ja...@gmail.com> wrote:

> Hi Maksim did you look into this?
>
> On Tue., Feb. 22, 2022, 9:51 a.m. John Smith, <ja...@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 <ti...@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 <ja...@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, <
>>>> timoninmaxim@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 <ja...@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
>>>>>>
>>>>>

Re: What is org.apache.ignite.IgniteCheckedException: Runtime failure on lookup row:

Posted by John Smith <ja...@gmail.com>.
Hi Maksim did you look into this?

On Tue., Feb. 22, 2022, 9:51 a.m. John Smith, <ja...@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 <ti...@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 <ja...@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, <
>>> timoninmaxim@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 <ja...@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
>>>>>
>>>>

Re: What is org.apache.ignite.IgniteCheckedException: Runtime failure on lookup row:

Posted by John Smith <ja...@gmail.com>.
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 <ti...@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 <ja...@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, <
>> timoninmaxim@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 <ja...@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
>>>>
>>>

Re: What is org.apache.ignite.IgniteCheckedException: Runtime failure on lookup row:

Posted by Maksim Timonin <ti...@apache.org>.
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 <ja...@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, <ti...@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 <ja...@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
>>>
>>

Re: What is org.apache.ignite.IgniteCheckedException: Runtime failure on lookup row:

Posted by John Smith <ja...@gmail.com>.
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, <ti...@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 <ja...@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
>>
>

Re: What is org.apache.ignite.IgniteCheckedException: Runtime failure on lookup row:

Posted by Maksim Timonin <ti...@apache.org>.
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 <ja...@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
>