You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Sergey Kosarev (Jira)" <ji...@apache.org> on 2020/01/16 10:10:00 UTC
[jira] [Created] (IGNITE-12549) Scan query/iterator on a replicated
cache may get wrong results
Sergey Kosarev created IGNITE-12549:
---------------------------------------
Summary: Scan query/iterator on a replicated cache may get wrong results
Key: IGNITE-12549
URL: https://issues.apache.org/jira/browse/IGNITE-12549
Project: Ignite
Issue Type: Bug
Components: cache
Affects Versions: 2.7.6
Reporter: Sergey Kosarev
Case 1
1. start server node 1
2 create and fill replicated cache with RebalanceMode.Async (as by default)
3 start servr node 2
3 immediately execute scan query on the replicated cache((or just iterate the cache)) on the node 2
It can get empty or partial results. (if rebalance on node 2 is finished)
Case 2
1. start server node 1
2 create and fill replicated cache with RebalanceMode.Async (as by default)
3 start client node 2
3 start server node 3
3 immediately execute scan query on the replicated cache((or just iterate the cache)) on the client node 2
It can get empty or partial results. (if rebalance on node 2 is not finished and query is mapped on the node 2)
It looks like problem in the org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter#nodes()
case REPLICATED:
if (prj != null || part != null)
return nodes(cctx, prj, part);
if (cctx.affinityNode())
return *Collections.singletonList(cctx.localNode())*;
Collection<ClusterNode> affNodes = nodes(cctx, null, null);
return affNodes.isEmpty() ? affNodes : *Collections.singletonList(F.rand(affNodes))*;
case PARTITIONED:
return nodes(cctx, prj, part);
--
This message was sent by Atlassian Jira
(v8.3.4#803005)