Here it is... [20:58:03,050][SEVERE][query-#395344%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@16bc23dd]"; SQL statement: SELECT __Z0.CAR_ID __C0_0 FROM PUBLIC.CAR_CODE __Z0 WHERE (__Z0.PROVIDER_ID = ?1) AND (__Z0.CAR_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@16bc23dd]"; SQL statement: SELECT __Z0.CAR_ID __C0_0 FROM PUBLIC.CAR_CODE __Z0 WHERE (__Z0.PROVIDER_ID = ?1) AND (__Z0.CAR_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@16bc23dd ] 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
On Tue, Aug 2, 2022 at 10:33 AM Николай Ижиков <nizhi...@apache.org> wrote: > Hello, John. > > Provided stack trace not enough to answer your question. > Can you, please, provide log from the remote node? > > 2 авг. 2022 г., в 17:14, John Smith <java.dev....@gmail.com> написал(а): > > Anyone? > > On Fri, Jul 29, 2022 at 8:44 AM John Smith <java.dev....@gmail.com> wrote: > >> Any thoughts on this? >> >> On Mon., Jul. 25, 2022, 11:29 a.m. John Smith, <java.dev....@gmail.com> >> wrote: >> >>> Hi I have the following code and I get the below exception. The cache >>> runs on 3 remote nodes and it is accessed by thick client (client = true) >>> >>> String sql = "select car_id from car_code where provider_id = ? and >>> car_code = ? order by car_id asc limit 1;" >>> Integer providerId = 1; >>> String cardCode = "HONDA"; >>> >>> JssonArray array = query(sql, 3000, providerId, carCode); >>> >>> JsonArray query(final String sql, final long timeoutMs, final Object... >>> args) { >>> SqlFieldsQuery query = new SqlFieldsQuery(sql).setArgs(args); >>> query.setTimeout((int) timeoutMs, TimeUnit.MILLISECONDS); >>> >>> try (QueryCursor<List<?>> cursor = cache.query(query)) { >>> List<JsonArray> rows = new ArrayList<>(); >>> Iterator<List<?>> iterator = cursor.iterator(); >>> >>> while(iterator.hasNext()) { >>> List currentRow = iterator.next(); >>> JsonArray row = new JsonArray(); >>> >>> currentRow.forEach(o -> row.add(o)); >>> >>> rows.add(row); >>> } >>> >>> return rows; >>> } catch(Exception ex) { >>> ex.printStackTrace(); >>> } >>> } >>> >>> Running this in Datagrip with JDBC client works fine; >>> >>> select >>> car_id >>> from car_code >>> where provider_id = 5 and car_code = 'HONDA' >>> order by car_id asc limit 1; >>> >>> Works >>> >>> >>> javax.cache.CacheException: Failed to execute map query on remote node >>> [nodeId=xxxxxx, errMsg=General error: \"class >>> org.apache.ignite.IgniteCheckedException: Runtime failure on lookup row: >>> IndexSearchRowImpl >>> [rowHnd=org.apache.ignite.internal.processors.query.h2.index.QueryIndexRowHandler@16bc23dd]\"; >>> SQL statement: >>> \nSELECT >>> \n__Z0.CAR_ID __C0_0 >>> \nFROM PUBLIC.CAR_CODE __Z0 >>> \nWHERE (__Z0.PROVIDER_ID = ?1) AND (__Z0.CAR_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 >>> >> >