ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sboi...@apache.org
Subject incubator-ignite git commit: #ignite-sprint-4-tests: debug query tests.
Date Tue, 21 Apr 2015 08:03:02 GMT
Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-sprint-4-tests 18c3d93bb -> b1db63542


#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/b1db6354
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/b1db6354
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/b1db6354

Branch: refs/heads/ignite-sprint-4-tests
Commit: b1db63542430b607cb4a885e9db22f506ab89f34
Parents: 18c3d93
Author: ivasilinets <ivasilinets@gridgain.com>
Authored: Tue Apr 21 11:02:48 2015 +0300
Committer: ivasilinets <ivasilinets@gridgain.com>
Committed: Tue Apr 21 11:02:48 2015 +0300

----------------------------------------------------------------------
 .../cache/GridCacheEvictionManager.java         | 22 +++++++++++++-------
 1 file changed, 14 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b1db6354/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 2009587..1762ccc 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,6 +915,8 @@ public class GridCacheEvictionManager extends GridCacheManagerAdapter
{
 
         List<GridCacheEntryEx> locked = new ArrayList<>(keys.size());
 
+        List<GridCacheEntryEx> toRemove = new ArrayList<>(keys.size());
+
         Collection<GridCacheBatchSwapEntry> swapped = new ArrayList<>(keys.size());
 
         boolean recordable = cctx.events().isRecordable(EVT_CACHE_ENTRY_EVICTED);
@@ -944,6 +946,10 @@ public class GridCacheEvictionManager extends GridCacheManagerAdapter
{
 
                 locked.add(entry);
 
+                if (!entry.obsolete()) {
+                    toRemove.add(entry);
+                }
+
                 if (obsoleteVer == null)
                     obsoleteVer = cctx.versions().next();
 
@@ -962,8 +968,15 @@ public class GridCacheEvictionManager extends GridCacheManagerAdapter
{
                 cctx.swap().writeAll(swapped);
         }
         finally {
+            // Unlock entries in reverse order.
+            for (ListIterator<GridCacheEntryEx> it = locked.listIterator(locked.size());
it.hasPrevious();) {
+                GridCacheEntryEx e = it.previous();
+
+                unsafe.monitorExit(e);
+            }
+
             // Remove entries and fire events outside the locks.
-            for (GridCacheEntryEx entry : locked) {
+            for (GridCacheEntryEx entry : toRemove) {
                 if (entry.obsolete()) {
                     entry.onMarkedObsolete();
 
@@ -977,13 +990,6 @@ public class GridCacheEvictionManager extends GridCacheManagerAdapter
{
                             EVT_CACHE_ENTRY_EVICTED, null, false, entry.rawGet(), entry.hasValue(),
null, null, null);
                 }
             }
-
-            // Unlock entries in reverse order.
-            for (ListIterator<GridCacheEntryEx> it = locked.listIterator(locked.size());
it.hasPrevious();) {
-                GridCacheEntryEx e = it.previous();
-
-                unsafe.monitorExit(e);
-            }
         }
     }
 


Mime
View raw message