#ignite-sprint-4-tests: debug query tests.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/64779884 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/64779884 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/64779884 Branch: refs/heads/ignite-sprint-4-tests Commit: 647798848c24c7fb7d8f80f419d2c8bf58997201 Parents: 5b0b6c5 Author: ivasilinets <ivasilin...@gridgain.com> Authored: Tue Apr 21 12:07:23 2015 +0300 Committer: ivasilinets <ivasilin...@gridgain.com> Committed: Tue Apr 21 12:07:23 2015 +0300 ---------------------------------------------------------------------- .../processors/cache/GridCacheEvictionManager.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/64779884/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java index 826eb1b..9135c16 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java @@ -915,7 +915,7 @@ public class GridCacheEvictionManager extends GridCacheManagerAdapter { List<GridCacheEntryEx> locked = new ArrayList<>(keys.size()); - List<GridCacheEntryEx> toRemove = new ArrayList<>(keys.size()); + Set<GridCacheEntryEx> notRemove = null; Collection<GridCacheBatchSwapEntry> swapped = new ArrayList<>(keys.size()); @@ -946,8 +946,12 @@ public class GridCacheEvictionManager extends GridCacheManagerAdapter { locked.add(entry); - if (!entry.obsolete()) - toRemove.add(entry); + if (entry.obsolete()) { + if (notRemove == null) + notRemove = new HashSet<>(); + + notRemove.add(entry); + } if (obsoleteVer == null) obsoleteVer = cctx.versions().next(); @@ -975,8 +979,8 @@ public class GridCacheEvictionManager extends GridCacheManagerAdapter { } // Remove entries and fire events outside the locks. - for (GridCacheEntryEx entry : toRemove) { - if (entry.obsolete()) { + for (GridCacheEntryEx entry : locked) { + if (entry.obsolete() && (notRemove == null || !notRemove.contains(entry))) { entry.onMarkedObsolete(); cache.removeEntry(entry);