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 
> <mailto:java.dev....@gmail.com>> wrote:
> Any thoughts on this?
> 
> On Mon., Jul. 25, 2022, 11:29 a.m. John Smith, <java.dev....@gmail.com 
> <mailto: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

Reply via email to