You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Aat <as...@gmail.com> on 2019/01/28 11:57:28 UTC

SQL Query | Cache | Partition - strange exception after 3 days in production

Hello, 

After 3 days in production : now when we try to execute this query we get an
exception : 

var query = 
new SqlFieldsQuery("select Perimeter, sum(delta) from farVe" + 
                " where Perimeter in('A','B')" + 
                " and arDate='2019-01-25'" + 
                " and UndlName='FTSE' GROUP BY Perimeter"); 

this query worked well until this morning. 

now in the app logs i have : 
 javax.cache.CacheException: Failed to execute map query on remote node
[nodeId=673edfe7-aec7-4d1f-b476-3d4e0ef3ee98, errMsg=Failed to execute SQL
query. General error: "class org.apache.ignite.binary.BinaryObjectException:
Not enough data to read the value [position=0, requiredBytes=1,
remainingBytes=0]"; SQL statement: 
SELECT 
__Z0.PERIMETER AS __C0_0, 
SUM(__Z0.DELTA) AS __C0_1 
FROM "farVe".FARVE __Z0 
WHERE (__Z0.UNDLNAME = 'FTS') AND ((__Z0.PERIMETER IN('A', 'B')) AND
(__Z0.ARDATE = DATE '2019-01-25')) 
GROUP BY __Z0.PERIMETER [50000-197]] 

And from the random node i get this message: 

[12:34:45,961][SEVERE][query-#24551][GridMapQueryExecutor] Failed to execute
local query. 
  85601 class org.apache.ignite.cache.query.QueryCancelledException: The
query was cancelled while executing. 
  85602         at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQuery(IgniteH2Indexing.java:1426) 
  85603         at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQueryWithTimer(IgniteH2Indexing.java:1489) 
  85604         at
org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onQueryRequest0(GridMapQueryExecutor.java:930) 
  85605         at
org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onQueryRequest(GridMapQueryExecutor.java:705) 
  85606         at
org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onMessage(GridMapQueryExecutor.java:240) 
  85607         at
org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor$2.onMessage(GridMapQueryExecutor.java:200) 
  85608         at
org.apache.ignite.internal.managers.communication.GridIoManager$ArrayListener.onMessage(GridIoManager.java:2349) 
  85609         at
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1569) 
  85610         at
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1197) 
  85611         at
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:127) 
  85612         at
org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1093) 
  85613         at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
  85614         at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
  85615         at java.lang.Thread.run(Thread.java:748) 

Infra: 
--  5 nodes 
-- version : 2.7 


cache definition: 
createCache("farVe", new CacheConfig<Long,
FarVE>().init().setIndexedTypes(Long.class, FarVE.class)); 

 // Specify cache mode and/or any other Ignite-specific configuration
properties. 
        setCacheMode(CacheMode.PARTITIONED); 

        setStoreByValue(false) 
            .setWriteThrough(false) 
            .setReadThrough(false) 

            .setBackups(1) 
            .setWriteSynchronizationMode(FULL_SYNC) 

            .setStatisticsEnabled(true) 
            .setManagementEnabled(true); 


java class: 

@Data 
public class FarVE implements Serializable { 
    @QuerySqlField(index = true) 
    private LocalDate arDate; 

    @QuerySqlField 
    private Double delta; 

    @QuerySqlField(index = true) 
    private String perimeter; 

} 

__ sorry if this error has  already been evoked but i search and i did not
found  answer.

Aat,



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: SQL Query | Cache | Partition - strange exception after 3 days in production

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

It's hard to say what happens here. Are you sure that this query didn't
genuinely time out? Can you provide full logs from affected nodes?

Regards,
-- 
Ilya Kasnacheev


пн, 28 янв. 2019 г. в 14:57, Aat <as...@gmail.com>:

> Hello,
>
> After 3 days in production : now when we try to execute this query we get
> an
> exception :
>
> var query =
> new SqlFieldsQuery("select Perimeter, sum(delta) from farVe" +
>                 " where Perimeter in('A','B')" +
>                 " and arDate='2019-01-25'" +
>                 " and UndlName='FTSE' GROUP BY Perimeter");
>
> this query worked well until this morning.
>
> now in the app logs i have :
>  javax.cache.CacheException: Failed to execute map query on remote node
> [nodeId=673edfe7-aec7-4d1f-b476-3d4e0ef3ee98, errMsg=Failed to execute SQL
> query. General error: "class
> org.apache.ignite.binary.BinaryObjectException:
> Not enough data to read the value [position=0, requiredBytes=1,
> remainingBytes=0]"; SQL statement:
> SELECT
> __Z0.PERIMETER AS __C0_0,
> SUM(__Z0.DELTA) AS __C0_1
> FROM "farVe".FARVE __Z0
> WHERE (__Z0.UNDLNAME = 'FTS') AND ((__Z0.PERIMETER IN('A', 'B')) AND
> (__Z0.ARDATE = DATE '2019-01-25'))
> GROUP BY __Z0.PERIMETER [50000-197]]
>
> And from the random node i get this message:
>
> [12:34:45,961][SEVERE][query-#24551][GridMapQueryExecutor] Failed to
> execute
> local query.
>   85601 class org.apache.ignite.cache.query.QueryCancelledException: The
> query was cancelled while executing.
>   85602         at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQuery(IgniteH2Indexing.java:1426)
>
>   85603         at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQueryWithTimer(IgniteH2Indexing.java:1489)
>
>   85604         at
> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onQueryRequest0(GridMapQueryExecutor.java:930)
>
>   85605         at
> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onQueryRequest(GridMapQueryExecutor.java:705)
>
>   85606         at
> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onMessage(GridMapQueryExecutor.java:240)
>
>   85607         at
> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor$2.onMessage(GridMapQueryExecutor.java:200)
>
>   85608         at
> org.apache.ignite.internal.managers.communication.GridIoManager$ArrayListener.onMessage(GridIoManager.java:2349)
>
>   85609         at
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1569)
>
>   85610         at
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1197)
>
>   85611         at
> org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:127)
>
>   85612         at
> org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1093)
>
>   85613         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>
>   85614         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>
>   85615         at java.lang.Thread.run(Thread.java:748)
>
> Infra:
> --  5 nodes
> -- version : 2.7
>
>
> cache definition:
> createCache("farVe", new CacheConfig<Long,
> FarVE>().init().setIndexedTypes(Long.class, FarVE.class));
>
>  // Specify cache mode and/or any other Ignite-specific configuration
> properties.
>         setCacheMode(CacheMode.PARTITIONED);
>
>         setStoreByValue(false)
>             .setWriteThrough(false)
>             .setReadThrough(false)
>
>             .setBackups(1)
>             .setWriteSynchronizationMode(FULL_SYNC)
>
>             .setStatisticsEnabled(true)
>             .setManagementEnabled(true);
>
>
> java class:
>
> @Data
> public class FarVE implements Serializable {
>     @QuerySqlField(index = true)
>     private LocalDate arDate;
>
>     @QuerySqlField
>     private Double delta;
>
>     @QuerySqlField(index = true)
>     private String perimeter;
>
> }
>
> __ sorry if this error has  already been evoked but i search and i did not
> found  answer.
>
> Aat,
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>