You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2016/10/27 13:45:58 UTC

[jira] [Created] (IGNITE-4145) "No query result found for request" exception when running multiple queries concurrently.

Vladimir Ozerov created IGNITE-4145:
---------------------------------------

             Summary: "No query result found for request" exception when running multiple queries concurrently.
                 Key: IGNITE-4145
                 URL: https://issues.apache.org/jira/browse/IGNITE-4145
             Project: Ignite
          Issue Type: Bug
          Components: SQL
    Affects Versions: 1.7
            Reporter: Vladimir Ozerov
            Assignee: Andrew Mashenkov
             Fix For: 1.8


When many queries are executed simultaneously in multi-node cluster, the following exception might appear from time to time:
{code}
Exception in thread "qry-exec-20" javax.cache.CacheException: Failed to fetch data from node: 3432842f-2fa2-44b9-b69b-cadba286d317
	at org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor$3.fetchNextPage(GridReduceQueryExecutor.java:298)
	at org.apache.ignite.internal.processors.query.h2.twostep.GridMergeIndex.fetchNextPage(GridMergeIndex.java:229)
	at org.apache.ignite.internal.processors.query.h2.twostep.GridMergeIndexUnsorted$1.hasNext(GridMergeIndexUnsorted.java:106)
	at org.apache.ignite.internal.processors.query.h2.twostep.GridMergeIndex$IteratorCursor.next(GridMergeIndex.java:351)
	at org.apache.ignite.internal.processors.query.h2.twostep.GridMergeIndex$FetchingCursor.next(GridMergeIndex.java:382)
	at org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.query(GridReduceQueryExecutor.java:640)
	at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$4.iterator(IgniteH2Indexing.java:1057)
	at org.apache.ignite.internal.processors.cache.QueryCursorImpl.iterator(QueryCursorImpl.java:81)
	at org.apache.ignite.yardstick.ringcentral.AdgRunner$QueryExecutor.run(AdgRunner.java:394)
	at java.lang.Thread.run(Thread.java:745)
	Suppressed: javax.cache.CacheException: Failed to execute map query on the node: c51bc4f2-7038-4df6-88a9-eb87506c2f86, class javax.cache.CacheException:No query result found for request: GridQueryNextPageRequest [qryReqId=93, qry=0, pageSize=1024]
		at org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.fail(GridReduceQueryExecutor.java:259)
		at org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.onFail(GridReduceQueryExecutor.java:249)
		at org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.onMessage(GridReduceQueryExecutor.java:230)
		at org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor$1.onMessage(GridReduceQueryExecutor.java:178)
		at org.apache.ignite.internal.managers.communication.GridIoManager$ArrayListener.onMessage(GridIoManager.java:1900)
		at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1080)
		at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:708)
		at org.apache.ignite.internal.managers.communication.GridIoManager.access$1700(GridIoManager.java:101)
		at org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:671)
		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
		... 1 more
{code}

Quick analysis shows that next-page request could possibly arrive before original query message is processed. Need to confirm it with deeper debugging first.

The best way to reproduce it:
1) Generate some data
2) Start several data nodes (e.g. 4)
3) Start client node
4) Concurrently execute multiple SQL queries from the client in different threads.

P.S.: May be cache start message gets delayed in IO manager during start? 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)