review

Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/35e90b8a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/35e90b8a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/35e90b8a

Branch: refs/heads/ignite-676
Commit: 35e90b8aa7d90680625530701ba42a15d1a03808
Parents: d59e4c4
Author: Yakov Zhdanov <yzhda...@gridgain.com>
Authored: Wed Apr 29 18:17:16 2015 +0300
Committer: Yakov Zhdanov <yzhda...@gridgain.com>
Committed: Wed Apr 29 18:17:16 2015 +0300

----------------------------------------------------------------------
 .../ignite/internal/processors/cache/GridCacheTtlManager.java  | 6 +++++-
 .../processors/cache/IgniteCacheEntryListenerAbstractTest.java | 2 +-
 2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/35e90b8a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
index d8af2b9..546cf57 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
@@ -73,6 +73,8 @@ public class GridCacheTtlManager extends 
GridCacheManagerAdapter {
      * @param entry Entry to remove.
      */
     public void removeTrackedEntry(GridCacheMapEntry entry) {
+        assert Thread.holdsLock(entry);
+
         pendingEntries.remove(new EntryWrapper(entry));
     }
 
@@ -93,7 +95,9 @@ public class GridCacheTtlManager extends 
GridCacheManagerAdapter {
 
         GridCacheVersion obsoleteVer = null;
 
-        int size = pendingEntries.sizex();
+        // Make sure that worker thread (e.g. sys pool) or user thread
+        // will not be trapped.
+        int size = Math.min(pendingEntries.sizex(), 1024);
 
         while (!sizeLimited || size-- > 0) {
             EntryWrapper e = pendingEntries.pollFirst();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/35e90b8a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryListenerAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryListenerAbstractTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryListenerAbstractTest.java
index 544fe6c..bb449e0 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryListenerAbstractTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryListenerAbstractTest.java
@@ -712,7 +712,7 @@ public abstract class IgniteCacheEntryListenerAbstractTest 
extends IgniteCacheAb
 
         expirePlcCache.put(key, 10);
 
-        U.sleep(500);
+        U.sleep(700);
 
         if (!eagerTtl())
             assertNull(primaryCache(key, cache.getName()).get(key)); // 
Provoke expire event if eager ttl is disabled.

Reply via email to