Merge remote-tracking branch 'remotes/origin/master' into ignite-2.1.2 # Conflicts: # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java # modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a9db2ad0 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a9db2ad0 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a9db2ad0 Branch: refs/heads/ignite-2.1.2-exchange Commit: a9db2ad01c0ec04a5edc42890acd535653bd6f88 Parents: caa4f25 d2b4759 Author: sboikov <[email protected]> Authored: Tue Jun 27 12:27:34 2017 +0300 Committer: sboikov <[email protected]> Committed: Tue Jun 27 12:27:34 2017 +0300 ---------------------------------------------------------------------- .../org/apache/ignite/IgniteDataStreamer.java | 12 +- .../cache/GridCacheSharedContext.java | 3 +- .../cache/IgniteCacheOffheapManagerImpl.java | 105 +++++++++++++++- .../dht/preloader/GridDhtPartitionDemander.java | 4 +- .../GridDiscoveryManagerAliveCacheSelfTest.java | 2 - .../IgniteCacheClearDuringRebalanceTest.java | 126 +++++++++++++++++++ .../testsuites/IgniteCacheTestSuite2.java | 3 + .../Cache/Query/CacheQueriesTest.cs | 7 ++ .../Impl/Cache/CacheEntryFilterHolder.cs | 13 ++ 9 files changed, 263 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/a9db2ad0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java index 6ba8c20,d108454..75d03d7 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java @@@ -41,12 -41,9 +41,11 @@@ import org.apache.ignite.internal.manag import org.apache.ignite.internal.pagemem.store.IgnitePageStoreManager; import org.apache.ignite.internal.pagemem.wal.IgniteWriteAheadLogManager; import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; -import org.apache.ignite.internal.processors.cache.database.IgniteCacheDatabaseSharedManager; +import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTopologyFuture; +import org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager; +import org.apache.ignite.internal.processors.cache.persistence.IgniteCacheSnapshotManager; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopology; - import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionExchangeId; - import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture; + import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTopologyFuture; import org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal; import org.apache.ignite.internal.processors.cache.jta.CacheJtaManagerAdapter; import org.apache.ignite.internal.processors.cache.store.CacheStoreManager; http://git-wip-us.apache.org/repos/asf/ignite/blob/a9db2ad0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java index e90a6c4,b95828c..d64d19c --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java @@@ -447,13 -427,10 +447,12 @@@ public class IgniteCacheOffheapManagerI @Override public void clearCache(GridCacheContext cctx, boolean readers) { GridCacheVersion obsoleteVer = null; - GridIterator<CacheDataRow> it = iterator(cctx.cacheId(), cacheDataStores().iterator()); - - try (GridCloseableIterator<CacheDataRow> it = grp.isLocal() ? iterator(cctx.cacheId(), cacheDataStores().iterator()) : - evictionSafeIterator(cctx.cacheId(), cacheDataStores().iterator())) { - while (it.hasNext()) { - KeyCacheObject key = it.next().key(); ++ try (GridCloseableIterator<CacheDataRow> it = grp.isLocal() ?iterator(cctx.cacheId(), cacheDataStores().iterator()): ++evictionSafeIterator(cctx.cacheId(), cacheDataStores().iterator())) { + while (it.hasNext()) { + cctx.shared().database().checkpointReadLock(); + - try { - KeyCacheObject key = it.next().key(); ++ try {KeyCacheObject key = it.next().key(); try { if (obsoleteVer == null) @@@ -470,10 -447,10 +469,13 @@@ U.error(log, "Failed to clear cache entry: " + key, e); } } + finally { + cctx.shared().database().checkpointReadUnlock(); + } } + catch (IgniteCheckedException e) { + U.error(log, "Failed to close iterator", e); + } } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/a9db2ad0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/a9db2ad0/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java ---------------------------------------------------------------------- diff --cc modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java index 5ff5b08,eec0273..4c9accf --- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java +++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java @@@ -283,8 -283,8 +284,10 @@@ public class IgniteCacheTestSuite2 exte suite.addTest(new TestSuite(CacheOptimisticTransactionsWithFilterSingleServerTest.class)); suite.addTest(new TestSuite(CacheOptimisticTransactionsWithFilterTest.class)); + suite.addTest(new TestSuite(NonAffinityCoordinatorDynamicStartStopTest.class)); + + suite.addTest(new TestSuite(IgniteCacheClearDuringRebalanceTest.class)); + return suite; } }
