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