IGNITE-54-55 Bug fix: don't forget to check obsoleteOrDeleted() when iterate over entries.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/05697b4a Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/05697b4a Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/05697b4a Branch: refs/heads/ignite-111 Commit: 05697b4a0d5e348f61a96302c05e9fecb72c832d Parents: 052b436 Author: sevdokimov <sergey.evdoki...@jetbrains.com> Authored: Fri Feb 6 11:36:21 2015 +0300 Committer: sevdokimov <sergey.evdoki...@jetbrains.com> Committed: Fri Feb 6 11:36:21 2015 +0300 ---------------------------------------------------------------------- .../cache/distributed/GridDistributedCacheAdapter.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/05697b4a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java index 937438c..5365ec3 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java @@ -229,8 +229,10 @@ public abstract class GridDistributedCacheAdapter<K, V> extends GridCacheAdapter try (IgniteDataLoader<K, V> dataLdr = ignite.dataLoader(cacheName)) { for (GridDhtLocalPartition<K, V> locPart : dht.topology().currentLocalPartitions()) { if (!locPart.isEmpty() && locPart.primary(topVer)) { - for (GridDhtCacheEntry<K, V> o : locPart.entries()) - dataLdr.removeData(o.key()); + for (GridDhtCacheEntry<K, V> o : locPart.entries()) { + if (!o.obsoleteOrDeleted()) + dataLdr.removeData(o.key()); + } } } }