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 <java.dev....@gmail.com> wrote:

> 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
>>>>>>
>>>>>

Reply via email to