# ignite-53 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/d6372ea5 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/d6372ea5 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/d6372ea5 Branch: refs/heads/sprint-1 Commit: d6372ea5a5f4e0bd71cd67f4925490682478fdf1 Parents: 68f704e Author: sboikov <sboi...@gridgain.com> Authored: Thu Jan 15 15:57:28 2015 +0300 Committer: sboikov <sboi...@gridgain.com> Committed: Thu Jan 15 15:57:28 2015 +0300 ---------------------------------------------------------------------- .../internal/processors/cache/IgniteCacheProxy.java | 4 ++-- .../cache/datastructures/IgniteQueryFutureStorage.java | 3 ++- .../cache/GridCacheAbstractFullApiSelfTest.java | 13 ++++++++++--- 3 files changed, 14 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d6372ea5/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java index c41f44e..cda62b2 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java @@ -1154,7 +1154,8 @@ public class IgniteCacheProxy<K, V> extends IgniteAsyncSupportAdapter implements private void onAccess() { try { queryStorage.onAccess(); - } catch (IgniteCheckedException e) { + } + catch (IgniteCheckedException e) { throw cacheException(e); } } @@ -1238,7 +1239,6 @@ public class IgniteCacheProxy<K, V> extends IgniteAsyncSupportAdapter implements * Iterator over the cache. */ private class IgniteCacheIterator implements Iterator<Cache.Entry<K, V>> { - /** Iterator over the cache*/ IgniteQueryFutureStorage.Iterator<Map.Entry<K, V>> iter; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d6372ea5/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/IgniteQueryFutureStorage.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/IgniteQueryFutureStorage.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/IgniteQueryFutureStorage.java index 4a34036..d24045f 100644 --- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/IgniteQueryFutureStorage.java +++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/IgniteQueryFutureStorage.java @@ -75,8 +75,8 @@ public class IgniteQueryFutureStorage { catch (IgniteCheckedException e) { log.error("Failed to close iterator.", e); } - } + futs.clear(); } @@ -104,6 +104,7 @@ public class IgniteQueryFutureStorage { */ Iterator(GridCacheQueryFuture<T> fut) { this.fut = fut; + this.weakRef = new WeakReference<Iterator<?>>(this, refQueue); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d6372ea5/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java index 62c364e..03a60cb 100644 --- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java +++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java @@ -5257,10 +5257,12 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract IgniteCache<String, Integer> cache = jcache(0); final int cacheSz = 100; + Map<String, Integer> entries = new HashMap(); for (int i = 0; i < cacheSz; ++i) { cache.put(Integer.toString(i), i); + entries.put(Integer.toString(i), i); } @@ -5291,20 +5293,24 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract * @param entries Expected entries in the cache. */ private void checkIteratorRemove(IgniteCache<String, Integer> cache, Map<String, Integer> entries) { - //Check that we can remove element. + // Check that we can remove element. String rmvKey = Integer.toString(5); + removeCacheIterator(cache, rmvKey); + entries.remove(rmvKey); + assertFalse(cache.containsKey(rmvKey)); checkIteratorCache(entries); - //check that we cannot call Iterator.remove() without next(). + // Check that we cannot call Iterator.remove() without next(). Iterator<Cache.Entry<String, Integer>> iter = jcache(0).iterator(); assertTrue(iter.hasNext()); iter.next(); + iter.remove(); try { @@ -5322,6 +5328,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract */ private void removeCacheIterator(IgniteCache<String, Integer> cache, String key) { Iterator<Cache.Entry<String, Integer>> iter = cache.iterator(); + int delCnt = 0; while (iter.hasNext()) { @@ -5329,9 +5336,9 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract if (cur.getKey().equals(key)) { iter.remove(); + delCnt++; } - } assertEquals(1, delCnt);