Andrey Gura created IGNITE-1666:
-----------------------------------
Summary: Fallback for full scan query does not work
Key: IGNITE-1666
URL: https://issues.apache.org/jira/browse/IGNITE-1666
Project: Ignite
Issue Type: Bug
Components: cache
Affects Versions: ignite-1.4
Reporter: Andrey Gura
Assignee: Andrey Gura
Fallback for full scan query doesn't work.
Steps to reproduce (all in one thread):
1. Start N nodes, create cache and populate some entries to cache.
2. Stop some node.
3. Get iterator on the cache and fetch all entries one by one.
4. Repeat from step 2.
On some iteration scan query fails with exception:
{noformat}
javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException:
Query execution failed: GridCacheQueryBean [qry=GridCacheQueryAdapter
[type=SCAN, clsName=null, clause=null, filter=null, part=null, incMeta=false,
metrics=GridCacheQueryMetricsAdapter [minTime=0, maxTime=0, sumTime=0,
avgTime=0.0, execs=0, completed=0, fails=0], pageSize=1024, timeout=0,
keepAll=false, incBackups=false, dedup=false, prj=null, keepPortable=false,
subjId=3026635f-2a79-4a59-83cb-9db427f45003, taskHash=0], rdc=null, trans=null]
at
org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1614)
at
org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.next(GridCacheQueryFutureAdapter.java:181)
at
org.apache.ignite.internal.processors.cache.CacheWeakQueryIteratorsHolder$WeakQueryFutureIterator.init(CacheWeakQueryIteratorsHolder.java:228)
at
org.apache.ignite.internal.processors.cache.CacheWeakQueryIteratorsHolder$WeakQueryFutureIterator.onHasNext(CacheWeakQueryIteratorsHolder.java:180)
at
org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
at
org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45)
at
org.apache.ignite.internal.processors.cache.distributed.CacheIteratorWhileRemovalSelfTest.doTest(CacheIteratorWhileRemovalSelfTest.java:135)
at
org.apache.ignite.internal.processors.cache.distributed.CacheIteratorWhileRemovalSelfTest.testFullScanIterator(CacheIteratorWhileRemovalSelfTest.java:91)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at junit.framework.TestCase.runTest(TestCase.java:176)
at
org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1658)
at
org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:112)
at
org.apache.ignite.testframework.junits.GridAbstractTest$4.run(GridAbstractTest.java:1596)
Caused by: class org.apache.ignite.IgniteCheckedException: Query execution
failed: GridCacheQueryBean [qry=GridCacheQueryAdapter [type=SCAN, clsName=null,
clause=null, filter=null, part=null, incMeta=false,
metrics=GridCacheQueryMetricsAdapter [minTime=0, maxTime=0, sumTime=0,
avgTime=0.0, execs=0, completed=0, fails=0], pageSize=1024, timeout=0,
keepAll=false, incBackups=false, dedup=false, prj=null, keepPortable=false,
subjId=3026635f-2a79-4a59-83cb-9db427f45003, taskHash=0], rdc=null, trans=null]
at
org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.checkError(GridCacheQueryFutureAdapter.java:267)
at
org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.internalIterator(GridCacheQueryFutureAdapter.java:276)
at
org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.next(GridCacheQueryFutureAdapter.java:171)
... 14 more
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to execute
query on node [query=GridCacheQueryBean [qry=GridCacheQueryAdapter [type=SCAN,
clsName=null, clause=null, filter=null, part=null, incMeta=false,
metrics=GridCacheQueryMetricsAdapter [minTime=0, maxTime=0, sumTime=0,
avgTime=0.0, execs=0, completed=0, fails=0], pageSize=1024, timeout=0,
keepAll=false, incBackups=false, dedup=false, prj=null, keepPortable=false,
subjId=3026635f-2a79-4a59-83cb-9db427f45003, taskHash=0], rdc=null,
trans=null], nodeId=203d0a36-8587-4a32-aa51-3332d126d002]
at
org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.onPage(GridCacheQueryFutureAdapter.java:390)
at
org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryFuture.onNodeLeft(GridCacheDistributedQueryFuture.java:146)
at
org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$3.onEvent(GridCacheDistributedQueryManager.java:114)
at
org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:770)
at
org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:755)
at
org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.record(GridEventStorageManager.java:295)
at
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.recordEvent(GridDiscoveryManager.java:1949)
at
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.body0(GridDiscoveryManager.java:2156)
at
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.body(GridDiscoveryManager.java:1989)
at
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
at java.lang.Thread.run(Thread.java:745)
Caused by: class
org.apache.ignite.internal.cluster.ClusterTopologyCheckedException: Remote node
has left topology: 203d0a36-8587-4a32-aa51-3332d126d002
... 10 more
{noformat}
In this case query should be retried (as well as for partition scan query).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)