Repository: ignite Updated Branches: refs/heads/ignite-971 c05bf538d -> fb38e1f48
ignite-971 Fix offheap to swap eviction. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/fb38e1f4 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/fb38e1f4 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/fb38e1f4 Branch: refs/heads/ignite-971 Commit: fb38e1f48ceedce0e8a54721015ba41de5002cf2 Parents: c05bf53 Author: sboikov <[email protected]> Authored: Fri Sep 11 14:42:24 2015 +0300 Committer: sboikov <[email protected]> Committed: Fri Sep 11 14:42:24 2015 +0300 ---------------------------------------------------------------------- .../GridCacheAbstractNodeRestartSelfTest.java | 149 +++++++++++++++++-- .../GridCachePartitionedNodeRestartTest.java | 9 +- ...ePartitionedOptimisticTxNodeRestartTest.java | 9 +- .../GridCacheReplicatedNodeRestartSelfTest.java | 8 +- .../testsuites/IgniteCacheRestartTestSuite.java | 2 +- 5 files changed, 152 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/fb38e1f4/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java index 757dce8..6f0565b 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java @@ -36,11 +36,13 @@ import org.apache.ignite.IgniteException; import org.apache.ignite.IgniteTransactions; import org.apache.ignite.cache.CacheAtomicityMode; import org.apache.ignite.cache.CacheRebalanceMode; +import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi; import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder; import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; +import org.apache.ignite.testframework.GridTestUtils; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.apache.ignite.transactions.Transaction; import org.apache.ignite.transactions.TransactionConcurrency; @@ -110,6 +112,9 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs private int retries = DFLT_RETRIES; /** */ + private GridTestUtils.TestMemoryMode memMode = GridTestUtils.TestMemoryMode.HEAP; + + /** */ private static final TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true); /** {@inheritDoc} */ @@ -129,11 +134,23 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs c.setDiscoverySpi(disco); + CacheConfiguration ccfg = cacheConfiguration(); + + GridTestUtils.setMemoryMode(c, ccfg, memMode, 100, 1024); + + c.setCacheConfiguration(ccfg); + return c; } + /** + * @return Cache configuration. + */ + protected abstract CacheConfiguration cacheConfiguration(); + /** {@inheritDoc} */ @Override protected void beforeTestsStarted() throws Exception { + // No-op. } /** {@inheritDoc} */ @@ -280,7 +297,7 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs long duration = 30000; - checkRestartWithTx(duration, 1, 1); + checkRestartWithTx(duration, 1, 1, 3); } /** @@ -310,7 +327,7 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs long duration = 30000; - checkRestartWithTx(duration, 1, 1); + checkRestartWithTx(duration, 1, 1, 3); } /** @@ -340,7 +357,7 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs long duration = 60000; - checkRestartWithTx(duration, 2, 2); + checkRestartWithTx(duration, 2, 2, 3); } /** @@ -361,6 +378,59 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs /** * @throws Exception If failed. */ + public void testRestartWithPutFourNodesOneBackupsSwap() throws Throwable { + restartWithPutFourNodesOneBackupsWithMemoryMode(GridTestUtils.TestMemoryMode.SWAP); + } + + /** + * @throws Exception If failed. + */ + public void testRestartWithPutFourNodesOneBackupsOffheapTiered() throws Throwable { + restartWithPutFourNodesOneBackupsWithMemoryMode(GridTestUtils.TestMemoryMode.OFFHEAP_TIERED); + } + + /** + * @throws Exception If failed. + */ + public void testRestartWithPutFourNodesOneBackupsOffheapTieredSwap() throws Throwable { + restartWithPutFourNodesOneBackupsWithMemoryMode(GridTestUtils.TestMemoryMode.OFFHEAP_TIERED_SWAP); + } + + /** + * @throws Exception If failed. + */ + public void testRestartWithPutFourNodesOneBackupsOffheapEvict() throws Throwable { + restartWithPutFourNodesOneBackupsWithMemoryMode(GridTestUtils.TestMemoryMode.OFFHEAP_EVICT); + } + + /** + * @throws Exception If failed. + */ + public void testRestartWithPutFourNodesOneBackupsOffheapEvictSwap() throws Throwable { + restartWithPutFourNodesOneBackupsWithMemoryMode(GridTestUtils.TestMemoryMode.OFFHEAP_EVICT_SWAP); + } + + /** + * @param memMode Memory mode. + * @throws Throwable If failed. + */ + private void restartWithPutFourNodesOneBackupsWithMemoryMode(GridTestUtils.TestMemoryMode memMode) + throws Throwable { + backups = 1; + nodeCnt = 4; + keyCnt = 100_000; + partitions = 29; + rebalancMode = ASYNC; + this.memMode = memMode; + + long duration = 30_000; + + checkRestartWithPut(duration, 2, 2); + } + + /** + * @throws Exception If failed. + */ public void testRestartWithTxFourNodesOneBackups() throws Throwable { backups = 1; nodeCnt = 4; @@ -370,7 +440,59 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs long duration = 60000; - checkRestartWithTx(duration, 2, 2); + checkRestartWithTx(duration, 2, 2, 3); + } + + /** + * @throws Exception If failed. + */ + public void testRestartWithTxFourNodesOneBackupsSwap() throws Throwable { + restartWithTxFourNodesOneBackupsWithMemoryMode(GridTestUtils.TestMemoryMode.SWAP); + } + + /** + * @throws Exception If failed. + */ + public void testRestartWithTxFourNodesOneBackupsOffheapTiered() throws Throwable { + restartWithTxFourNodesOneBackupsWithMemoryMode(GridTestUtils.TestMemoryMode.OFFHEAP_TIERED); + } + + /** + * @throws Exception If failed. + */ + public void testRestartWithTxFourNodesOneBackupsOffheapTieredSwap() throws Throwable { + restartWithTxFourNodesOneBackupsWithMemoryMode(GridTestUtils.TestMemoryMode.OFFHEAP_TIERED_SWAP); + } + + /** + * @throws Exception If failed. + */ + public void testRestartWithTxFourNodesOneBackupsOffheapEvict() throws Throwable { + restartWithTxFourNodesOneBackupsWithMemoryMode(GridTestUtils.TestMemoryMode.OFFHEAP_EVICT); + } + + /** + * @throws Exception If failed. + */ + public void testRestartWithTxFourNodesOneBackupsOffheapEvictSwap() throws Throwable { + restartWithTxFourNodesOneBackupsWithMemoryMode(GridTestUtils.TestMemoryMode.OFFHEAP_EVICT_SWAP); + } + + /** + * @param memMode Memory mode. + * @throws Throwable If failed. + */ + private void restartWithTxFourNodesOneBackupsWithMemoryMode(GridTestUtils.TestMemoryMode memMode) throws Throwable { + backups = 1; + nodeCnt = 4; + keyCnt = 100_000; + partitions = 29; + rebalancMode = ASYNC; + this.memMode = memMode; + + long duration = 30_000; + + checkRestartWithTx(duration, 2, 2, 100); } /** @@ -400,7 +522,7 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs long duration = 90000; - checkRestartWithTx(duration, 3, 3); + checkRestartWithTx(duration, 3, 3, 3); } /** @@ -430,7 +552,7 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs long duration = 90000; - checkRestartWithTx(duration, 4, 4); + checkRestartWithTx(duration, 4, 4, 3); } /** @@ -460,7 +582,7 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs long duration = 90000; - checkRestartWithTx(duration, 5, 5); + checkRestartWithTx(duration, 5, 5, 3); } /** @@ -499,7 +621,7 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs * @param restartThreads Restart threads count. * @throws Exception If failed. */ - public void checkRestartWithPut(long duration, int putThreads, int restartThreads) throws Throwable { + private void checkRestartWithPut(long duration, int putThreads, int restartThreads) throws Throwable { final long endTime = System.currentTimeMillis() + duration; final AtomicReference<Throwable> err = new AtomicReference<>(); @@ -613,9 +735,13 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs * @param duration Test duration. * @param putThreads Put threads count. * @param restartThreads Restart threads count. + * @param txKeys Keys per transaction. * @throws Exception If failed. */ - public void checkRestartWithTx(long duration, int putThreads, int restartThreads) throws Throwable { + private void checkRestartWithTx(long duration, + int putThreads, + int restartThreads, + final int txKeys) throws Throwable { if (atomicityMode() == ATOMIC) return; @@ -634,8 +760,6 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs final CyclicBarrier barrier = new CyclicBarrier(putThreads + restartThreads); - final int txKeys = 3; - for (int i = 0; i < putThreads; i++) { final int gridIdx = i; @@ -699,6 +823,7 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs if (c % logFreq == 0) { info(">>> Tx iteration finished [cnt=" + c + + ", cacheSize=" + cache.localSize() + ", keys=" + keys + ", locNodeId=" + locNodeId + ']'); } @@ -773,7 +898,7 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs * @param restartThreads Restart threads count. * @throws Exception If failed. */ - public void checkRestartWithTxPutAll(long duration, int putThreads, int restartThreads) throws Throwable { + private void checkRestartWithTxPutAll(long duration, int putThreads, int restartThreads) throws Throwable { if (atomicityMode() == ATOMIC) return; http://git-wip-us.apache.org/repos/asf/ignite/blob/fb38e1f4/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java index 265c185..684d6e4 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java @@ -36,6 +36,11 @@ public class GridCachePartitionedNodeRestartTest extends GridCacheAbstractNodeRe c.getTransactionConfiguration().setDefaultTxConcurrency(PESSIMISTIC); + return c; + } + + /** {@inheritDoc} */ + @Override protected CacheConfiguration cacheConfiguration() { CacheConfiguration cc = defaultCacheConfiguration(); cc.setName(CACHE_NAME); @@ -49,9 +54,7 @@ public class GridCachePartitionedNodeRestartTest extends GridCacheAbstractNodeRe cc.setAffinity(new RendezvousAffinityFunction(false, partitions)); cc.setBackups(backups); - c.setCacheConfiguration(cc); - - return c; + return cc; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/fb38e1f4/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java index 0e81828..a458aa7 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java @@ -44,6 +44,11 @@ public class GridCachePartitionedOptimisticTxNodeRestartTest extends GridCacheAb c.getTransactionConfiguration().setDefaultTxConcurrency(OPTIMISTIC); + return c; + } + + /** {@inheritDoc} */ + @Override protected CacheConfiguration cacheConfiguration() { CacheConfiguration cc = defaultCacheConfiguration(); cc.setName(CACHE_NAME); @@ -57,9 +62,7 @@ public class GridCachePartitionedOptimisticTxNodeRestartTest extends GridCacheAb cc.setNearConfiguration(nearEnabled() ? new NearCacheConfiguration() : null); - c.setCacheConfiguration(cc); - - return c; + return cc; } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/fb38e1f4/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedNodeRestartSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedNodeRestartSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedNodeRestartSelfTest.java index 5be228d..7e3e7e5 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedNodeRestartSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedNodeRestartSelfTest.java @@ -30,9 +30,7 @@ import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC; */ public class GridCacheReplicatedNodeRestartSelfTest extends GridCacheAbstractNodeRestartSelfTest { /** {@inheritDoc} */ - @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { - IgniteConfiguration c = super.getConfiguration(gridName); - + @Override protected CacheConfiguration cacheConfiguration() { CacheConfiguration cc = defaultCacheConfiguration(); cc.setNearConfiguration(null); @@ -51,9 +49,7 @@ public class GridCacheReplicatedNodeRestartSelfTest extends GridCacheAbstractNod cc.setRebalanceBatchSize(20); - c.setCacheConfiguration(cc); - - return c; + return cc; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/fb38e1f4/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite.java index 869f25c..7966bc7 100644 --- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite.java +++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite.java @@ -29,7 +29,7 @@ import org.apache.ignite.internal.processors.cache.distributed.replicated.GridCa import org.apache.ignite.internal.processors.cache.distributed.replicated.IgniteCacheAtomicReplicatedNodeRestartSelfTest; /** - * In-Memory Data Grid stability test suite on changing topology. + * Cache stability test suite on changing topology. */ public class IgniteCacheRestartTestSuite extends TestSuite { /**
