[ https://issues.apache.org/jira/browse/IGNITE-1239?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Denis Magda reassigned IGNITE-1239: ----------------------------------- Assignee: Denis Magda > Cache partition iterator throws exception when concurrent rebalancing is > running > -------------------------------------------------------------------------------- > > Key: IGNITE-1239 > URL: https://issues.apache.org/jira/browse/IGNITE-1239 > Project: Ignite > Issue Type: Bug > Components: cache > Reporter: Alexey Goncharuk > Assignee: Denis Magda > > I observed this exception when IgniteRDD was iterating over partition and two > new nodes have joined: > {code} > Caused by: class org.apache.ignite.IgniteCheckedException: Query execution > failed: GridCacheQueryBean [qry=GridCacheQueryAdapter [type=SCAN, > clsName=null, clause=null, > filter=org.apache.ignite.internal.processors.cache.IgniteCacheProxy$1@6490c94c, > part=138, incMeta=false, metrics=GridCacheQueryMetricsAdapter [minTime=10, > maxTime=10, avgTime=10.0, execs=1, fails=1, executed=true], pageSize=1024, > timeout=0, keepAll=true, incBackups=false, dedup=false, prj=null, > keepPortable=false, subjId=9cdc9751-c6ec-43eb-968a-e941f2a1a8cd, taskHash=0], > rdc=null, trans=null] > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.checkError(GridCacheQueryFutureAdapter.java:245) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.internalIterator(GridCacheQueryFutureAdapter.java:303) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.next(GridCacheQueryFutureAdapter.java:156) > ... 17 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=org.apache.ignite.internal.processors.cache.IgniteCacheProxy$1@6490c94c, > part=138, incMeta=false, metrics=GridCacheQueryMetricsAdapter [minTime=0, > maxTime=0, avgTime=0.0, execs=0, fails=0, executed=false], pageSize=1024, > timeout=0, keepAll=true, incBackups=false, dedup=false, prj=null, > keepPortable=false, subjId=9cdc9751-c6ec-43eb-968a-e941f2a1a8cd, taskHash=0], > rdc=null, trans=null], nodeId=963d0e35-7805-4b6d-8d64-22cce84e35f2] > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.onPage(GridCacheQueryFutureAdapter.java:370) > at > org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager.processQueryResponse(GridCacheDistributedQueryManager.java:377) > at > org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager.access$000(GridCacheDistributedQueryManager.java:44) > at > org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$1.apply(GridCacheDistributedQueryManager.java:74) > at > org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$1.apply(GridCacheDistributedQueryManager.java:72) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:534) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:240) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$700(GridCacheIoManager.java:48) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager$OrderedMessageListener.onMessage(GridCacheIoManager.java:1026) > at > org.apache.ignite.internal.managers.communication.GridIoManager$GridCommunicationMessageSet.unwind(GridIoManager.java:2256) > at > org.apache.ignite.internal.managers.communication.GridIoManager.unwindMessageSet(GridIoManager.java:946) > at > org.apache.ignite.internal.managers.communication.GridIoManager.access$1700(GridIoManager.java:60) > at > org.apache.ignite.internal.managers.communication.GridIoManager$6.run(GridIoManager.java:915) > ... 3 more > Caused by: class org.apache.ignite.IgniteCheckedException: Partition can't be > reserved > at > org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:6808) > {code} > The issue is that query request was sent on a backup node and by the time > request has arrived, the partition was already evicted, which resulted in > "Partition cannot be reserved" exception. We should automatically retry if > this exception is encountered. > I believe we have logic that retries, but it looks like there is a bug in > that logic. -- This message was sent by Atlassian JIRA (v6.3.4#6332)