http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/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 b4e564f..5e06933 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 @@ -67,6 +67,7 @@ import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.spi.eventstorage.memory.MemoryEventStorageSpi; import org.apache.ignite.testframework.GridTestUtils; +import org.apache.ignite.testframework.MvccFeatureChecker; import org.jetbrains.annotations.Nullable; import static java.util.concurrent.TimeUnit.MILLISECONDS; @@ -104,6 +105,13 @@ public abstract class IgniteCacheEntryListenerAbstractTest extends IgniteCacheAb private static AtomicBoolean serialized = new AtomicBoolean(false); /** {@inheritDoc} */ + @Override protected void beforeTestsStarted() throws Exception { + MvccFeatureChecker.failIfNotSupported(MvccFeatureChecker.Feature.CACHE_EVENTS); + + super.beforeTestsStarted(); + } + + /** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override protected CacheConfiguration cacheConfiguration(String igniteInstanceName) throws Exception { CacheConfiguration cfg = super.cacheConfiguration(igniteInstanceName);
http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryListenerEagerTtlDisabledTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryListenerEagerTtlDisabledTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryListenerEagerTtlDisabledTest.java index a1bf26b..90e2861 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryListenerEagerTtlDisabledTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryListenerEagerTtlDisabledTest.java @@ -19,12 +19,20 @@ package org.apache.ignite.internal.processors.cache; import org.apache.ignite.configuration.CacheConfiguration; +import org.apache.ignite.testframework.MvccFeatureChecker; /** * Tests expire events when {@link CacheConfiguration#isEagerTtl()} is disabled. */ public class IgniteCacheEntryListenerEagerTtlDisabledTest extends IgniteCacheEntryListenerTxTest { /** {@inheritDoc} */ + @Override protected void beforeTestsStarted() throws Exception { + MvccFeatureChecker.failIfNotSupported(MvccFeatureChecker.Feature.EXPIRATION); + + super.beforeTestsStarted(); + } + + /** {@inheritDoc} */ @Override protected boolean eagerTtl() { return false; } http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryListenerTxLocalTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryListenerTxLocalTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryListenerTxLocalTest.java index 5da10c6..0212ddd 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryListenerTxLocalTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryListenerTxLocalTest.java @@ -20,6 +20,7 @@ package org.apache.ignite.internal.processors.cache; import org.apache.ignite.cache.CacheAtomicityMode; import org.apache.ignite.cache.CacheMode; import org.apache.ignite.configuration.NearCacheConfiguration; +import org.apache.ignite.testframework.MvccFeatureChecker; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; import static org.apache.ignite.cache.CacheMode.LOCAL; @@ -29,6 +30,13 @@ import static org.apache.ignite.cache.CacheMode.LOCAL; */ public class IgniteCacheEntryListenerTxLocalTest extends IgniteCacheEntryListenerAbstractTest { /** {@inheritDoc} */ + @Override protected void beforeTestsStarted() throws Exception { + MvccFeatureChecker.failIfNotSupported(MvccFeatureChecker.Feature.LOCAL_CACHE); + + super.beforeTestsStarted(); + } + + /** {@inheritDoc} */ @Override protected int gridCount() { return 1; } http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryProcessorCallTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryProcessorCallTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryProcessorCallTest.java index 4efe513..34f97a1 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryProcessorCallTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheEntryProcessorCallTest.java @@ -37,6 +37,7 @@ import org.jetbrains.annotations.Nullable; import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; +import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT; import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC; import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_IGNITE_INSTANCE_NAME; import static org.apache.ignite.transactions.TransactionConcurrency.OPTIMISTIC; @@ -99,7 +100,7 @@ public class IgniteCacheEntryProcessorCallTest extends GridCommonAbstractTest { /** * @throws Exception If failed. */ - public void testEntryProcessorCall() throws Exception { + public void testEntryProcessorCallOnAtomicCache() throws Exception { { CacheConfiguration<Integer, TestValue> ccfg = new CacheConfiguration<>(DEFAULT_CACHE_NAME); ccfg.setBackups(1); @@ -117,7 +118,12 @@ public class IgniteCacheEntryProcessorCallTest extends GridCommonAbstractTest { checkEntryProcessorCallCount(ccfg, 1); } + } + /** + * @throws Exception If failed. + */ + public void testEntryProcessorCallOnTxCache() throws Exception { { CacheConfiguration<Integer, TestValue> ccfg = new CacheConfiguration<>(DEFAULT_CACHE_NAME); ccfg.setBackups(1); @@ -138,6 +144,29 @@ public class IgniteCacheEntryProcessorCallTest extends GridCommonAbstractTest { } /** + * @throws Exception If failed. + */ + public void testEntryProcessorCallOnMvccCache() throws Exception { + { + CacheConfiguration<Integer, TestValue> ccfg = new CacheConfiguration<>(DEFAULT_CACHE_NAME); + ccfg.setBackups(1); + ccfg.setWriteSynchronizationMode(FULL_SYNC); + ccfg.setAtomicityMode(TRANSACTIONAL_SNAPSHOT); + + checkEntryProcessorCallCount(ccfg, 2); + } + + { + CacheConfiguration<Integer, TestValue> ccfg = new CacheConfiguration<>(DEFAULT_CACHE_NAME); + ccfg.setBackups(0); + ccfg.setWriteSynchronizationMode(FULL_SYNC); + ccfg.setAtomicityMode(TRANSACTIONAL_SNAPSHOT); + + checkEntryProcessorCallCount(ccfg, 1); + } + } + + /** * @param ccfg Cache configuration. * @param expCallCnt Expected entry processor calls count. * @throws Exception If failed. @@ -163,18 +192,22 @@ public class IgniteCacheEntryProcessorCallTest extends GridCommonAbstractTest { if (ccfg.getAtomicityMode() == TRANSACTIONAL) { checkEntryProcessCall(key++, clientCache1, OPTIMISTIC, REPEATABLE_READ, expCallCnt + 1); - checkEntryProcessCall(key++, clientCache1, PESSIMISTIC, REPEATABLE_READ, expCallCnt + 1); checkEntryProcessCall(key++, clientCache1, OPTIMISTIC, SERIALIZABLE, expCallCnt + 1); + checkEntryProcessCall(key++, clientCache1, PESSIMISTIC, REPEATABLE_READ, expCallCnt + 1); } + else if (ccfg.getAtomicityMode() == TRANSACTIONAL_SNAPSHOT) + checkEntryProcessCall(key++, clientCache1, PESSIMISTIC, REPEATABLE_READ, expCallCnt); for (int i = 100; i < 110; i++) { checkEntryProcessCall(key++, srvCache, null, null, expCallCnt); if (ccfg.getAtomicityMode() == TRANSACTIONAL) { - checkEntryProcessCall(key++, srvCache, OPTIMISTIC, REPEATABLE_READ, expCallCnt + 1); - checkEntryProcessCall(key++, srvCache, PESSIMISTIC, REPEATABLE_READ, expCallCnt + 1); - checkEntryProcessCall(key++, srvCache, OPTIMISTIC, SERIALIZABLE, expCallCnt + 1); + checkEntryProcessCall(key++, clientCache1, OPTIMISTIC, REPEATABLE_READ, expCallCnt + 1); + checkEntryProcessCall(key++, clientCache1, OPTIMISTIC, SERIALIZABLE, expCallCnt + 1); + checkEntryProcessCall(key++, clientCache1, PESSIMISTIC, REPEATABLE_READ, expCallCnt + 1); } + else if (ccfg.getAtomicityMode() == TRANSACTIONAL_SNAPSHOT) + checkEntryProcessCall(key++, clientCache1, PESSIMISTIC, REPEATABLE_READ, expCallCnt); } for (int i = 0; i < NODES; i++) @@ -182,7 +215,6 @@ public class IgniteCacheEntryProcessorCallTest extends GridCommonAbstractTest { } /** - * * @param key Key. * @param cache Cache. * @param concurrency Transaction concurrency. @@ -205,6 +237,9 @@ public class IgniteCacheEntryProcessorCallTest extends GridCommonAbstractTest { ", concurrency=" + concurrency + ", isolation=" + isolation + "]"); + int expCallCntOnGet = cache.getConfiguration(CacheConfiguration.class).getAtomicityMode() == TRANSACTIONAL_SNAPSHOT ? + 1 : expCallCnt; + Transaction tx; TestReturnValue retVal; @@ -237,7 +272,7 @@ public class IgniteCacheEntryProcessorCallTest extends GridCommonAbstractTest { if (tx != null) tx.commit(); - assertEquals(expCallCnt, callCnt.get()); + assertEquals(expCallCntOnGet, callCnt.get()); checkReturnValue(retVal, "0"); checkCacheValue(cache.getName(), key, new TestValue(0)); @@ -415,7 +450,7 @@ public class IgniteCacheEntryProcessorCallTest extends GridCommonAbstractTest { if (o == null || getClass() != o.getClass()) return false; - TestValue testVal = (TestValue) o; + TestValue testVal = (TestValue)o; return val.equals(testVal.val); @@ -473,7 +508,7 @@ public class IgniteCacheEntryProcessorCallTest extends GridCommonAbstractTest { if (o == null || getClass() != o.getClass()) return false; - TestReturnValue testVal = (TestReturnValue) o; + TestReturnValue testVal = (TestReturnValue)o; return val.equals(testVal.val); http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheInvokeAbstractTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheInvokeAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheInvokeAbstractTest.java index d9a0428..28d65f7 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheInvokeAbstractTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheInvokeAbstractTest.java @@ -49,6 +49,7 @@ import org.apache.ignite.transactions.Transaction; import org.apache.ignite.transactions.TransactionConcurrency; import org.jetbrains.annotations.Nullable; +import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; import static org.apache.ignite.cache.CacheMode.REPLICATED; import static org.apache.ignite.transactions.TransactionConcurrency.OPTIMISTIC; @@ -70,10 +71,11 @@ public abstract class IgniteCacheInvokeAbstractTest extends IgniteCacheAbstractT invoke(cache, null); - if (atomicityMode() == TRANSACTIONAL) { - invoke(cache, PESSIMISTIC); + if (atomicityMode() != ATOMIC) { + invoke(cache, PESSIMISTIC); // Tx or Mvcc tx. - invoke(cache, OPTIMISTIC); + if (atomicityMode() == TRANSACTIONAL) + invoke(cache, OPTIMISTIC); } } @@ -235,10 +237,11 @@ public abstract class IgniteCacheInvokeAbstractTest extends IgniteCacheAbstractT invokeAll(cache, null); - if (atomicityMode() == TRANSACTIONAL) { + if (atomicityMode() != ATOMIC) { invokeAll(cache, PESSIMISTIC); - invokeAll(cache, OPTIMISTIC); + if (atomicityMode() == TRANSACTIONAL) + invokeAll(cache, OPTIMISTIC); } } http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheMvccTxInvokeTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheMvccTxInvokeTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheMvccTxInvokeTest.java new file mode 100644 index 0000000..7029605 --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheMvccTxInvokeTest.java @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.processors.cache; + +import org.apache.ignite.cache.CacheAtomicityMode; +import org.apache.ignite.cache.CacheMode; +import org.apache.ignite.configuration.NearCacheConfiguration; + +import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT; +import static org.apache.ignite.cache.CacheMode.PARTITIONED; + +/** + * + */ +public class IgniteCacheMvccTxInvokeTest extends IgniteCacheInvokeAbstractTest { + /** {@inheritDoc} */ + @Override protected int gridCount() { + return 3; + } + + /** {@inheritDoc} */ + @Override protected CacheMode cacheMode() { + return PARTITIONED; + } + + /** {@inheritDoc} */ + @Override protected CacheAtomicityMode atomicityMode() { + return TRANSACTIONAL_SNAPSHOT; + } + + /** {@inheritDoc} */ + @Override protected NearCacheConfiguration nearConfiguration() { + return null; + } + + /** {@inheritDoc} */ + @Override public void testInvokeAllAppliedOnceOnBinaryTypeRegistration() { + fail("https://issues.apache.org/jira/browse/IGNITE-10472"); + + super.testInvokeAllAppliedOnceOnBinaryTypeRegistration(); + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheMvccTxNearEnabledInvokeTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheMvccTxNearEnabledInvokeTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheMvccTxNearEnabledInvokeTest.java new file mode 100644 index 0000000..78efd46 --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheMvccTxNearEnabledInvokeTest.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.processors.cache; + +import org.apache.ignite.configuration.NearCacheConfiguration; + +/** + * + */ +public class IgniteCacheMvccTxNearEnabledInvokeTest extends IgniteCacheMvccTxInvokeTest { + /** {@inheritDoc} */ + @Override protected void beforeTestsStarted() throws Exception { + fail("https://issues.apache.org/jira/browse/IGNITE-7187"); + + super.beforeTestsStarted(); + } + + /** {@inheritDoc} */ + @Override protected NearCacheConfiguration nearConfiguration() { + return new NearCacheConfiguration(); + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheNearLockValueSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheNearLockValueSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheNearLockValueSelfTest.java index 37fe5fa..63d3ae8 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheNearLockValueSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheNearLockValueSelfTest.java @@ -30,6 +30,7 @@ import org.apache.ignite.internal.processors.cache.distributed.near.GridNearLock 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.MvccFeatureChecker; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.apache.ignite.transactions.Transaction; @@ -45,6 +46,8 @@ public class IgniteCacheNearLockValueSelfTest extends GridCommonAbstractTest { /** {@inheritDoc} */ @Override protected void beforeTestsStarted() throws Exception { + MvccFeatureChecker.failIfNotSupported(MvccFeatureChecker.Feature.NEAR_CACHE); + startGrid(1); startGrid(0); http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTxLocalInvokeTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTxLocalInvokeTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTxLocalInvokeTest.java index 55cc431..107ad7d 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTxLocalInvokeTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTxLocalInvokeTest.java @@ -20,6 +20,7 @@ package org.apache.ignite.internal.processors.cache; import org.apache.ignite.cache.CacheAtomicityMode; import org.apache.ignite.cache.CacheMode; import org.apache.ignite.configuration.NearCacheConfiguration; +import org.apache.ignite.testframework.MvccFeatureChecker; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; import static org.apache.ignite.cache.CacheMode.LOCAL; @@ -29,6 +30,13 @@ import static org.apache.ignite.cache.CacheMode.LOCAL; */ public class IgniteCacheTxLocalInvokeTest extends IgniteCacheInvokeAbstractTest { /** {@inheritDoc} */ + @Override protected void beforeTestsStarted() throws Exception { + MvccFeatureChecker.failIfNotSupported(MvccFeatureChecker.Feature.LOCAL_CACHE); + + super.beforeTestsStarted(); + } + + /** {@inheritDoc} */ @Override protected int gridCount() { return 1; } http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgnitePutAllLargeBatchSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgnitePutAllLargeBatchSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgnitePutAllLargeBatchSelfTest.java index 56a4381..76649bf 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgnitePutAllLargeBatchSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgnitePutAllLargeBatchSelfTest.java @@ -30,6 +30,7 @@ import org.apache.ignite.configuration.NearCacheConfiguration; import org.apache.ignite.internal.IgniteKernal; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheEntry; import org.apache.ignite.internal.processors.cache.distributed.near.GridNearCacheAdapter; +import org.apache.ignite.testframework.MvccFeatureChecker; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.apache.ignite.transactions.Transaction; import org.apache.ignite.transactions.TransactionConcurrency; @@ -53,6 +54,13 @@ public class IgnitePutAllLargeBatchSelfTest extends GridCommonAbstractTest { private int backups = 1; /** {@inheritDoc} */ + @Override protected void beforeTestsStarted() throws Exception { + MvccFeatureChecker.failIfNotSupported(MvccFeatureChecker.Feature.ENTRY_LOCK); + + super.beforeTestsStarted(); + } + + /** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgnitePutAllUpdateNonPreloadedPartitionSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgnitePutAllUpdateNonPreloadedPartitionSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgnitePutAllUpdateNonPreloadedPartitionSelfTest.java index 2503e21..0f9e62b 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgnitePutAllUpdateNonPreloadedPartitionSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgnitePutAllUpdateNonPreloadedPartitionSelfTest.java @@ -25,6 +25,7 @@ import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.internal.IgniteKernal; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheEntry; import org.apache.ignite.internal.processors.cache.distributed.near.GridNearCacheAdapter; +import org.apache.ignite.testframework.MvccFeatureChecker; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.apache.ignite.transactions.Transaction; @@ -42,6 +43,13 @@ public class IgnitePutAllUpdateNonPreloadedPartitionSelfTest extends GridCommonA private int backups = 1; /** {@inheritDoc} */ + @Override protected void beforeTestsStarted() throws Exception { + MvccFeatureChecker.failIfNotSupported(MvccFeatureChecker.Feature.ENTRY_LOCK); + + super.beforeTestsStarted(); + } + + /** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheSelfTest.java index 680381a..a8a7f33 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxConfigCacheSelfTest.java @@ -44,13 +44,14 @@ 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.MvccFeatureChecker; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.apache.ignite.transactions.Transaction; import org.apache.ignite.transactions.TransactionTimeoutException; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; import static org.apache.ignite.transactions.TransactionConcurrency.PESSIMISTIC; -import static org.apache.ignite.transactions.TransactionIsolation.READ_COMMITTED; +import static org.apache.ignite.transactions.TransactionIsolation.REPEATABLE_READ; /** * Test checks that grid transaction configuration doesn't influence system caches. @@ -109,6 +110,9 @@ public class IgniteTxConfigCacheSelfTest extends GridCommonAbstractTest { * @throws Exception If failed. */ public void testUserTxTimeout() throws Exception { + if (MvccFeatureChecker.forcedMvcc()) + fail("https://issues.apache.org/jira/browse/IGNITE-7952"); + final Ignite ignite = grid(0); final IgniteCache<Object, Object> cache = ignite.getOrCreateCache(CACHE_NAME); @@ -214,7 +218,7 @@ public class IgniteTxConfigCacheSelfTest extends GridCommonAbstractTest { * @throws Exception If failed. */ protected void checkStartTxSuccess(final IgniteInternalCache<Object, Object> cache) throws Exception { - try (final GridNearTxLocal tx = CU.txStartInternal(cache.context(), cache, PESSIMISTIC, READ_COMMITTED)) { + try (final GridNearTxLocal tx = CU.txStartInternal(cache.context(), cache, PESSIMISTIC, REPEATABLE_READ)) { assert tx != null; sleepForTxFailure(); http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxExceptionAbstractSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxExceptionAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxExceptionAbstractSelfTest.java index 8cb03c6..63bb613 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxExceptionAbstractSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxExceptionAbstractSelfTest.java @@ -43,6 +43,7 @@ import org.apache.ignite.spi.IgniteSpiException; import org.apache.ignite.spi.indexing.IndexingQueryFilter; import org.apache.ignite.spi.indexing.IndexingSpi; import org.apache.ignite.testframework.GridTestUtils; +import org.apache.ignite.testframework.MvccFeatureChecker; import org.apache.ignite.transactions.Transaction; import org.apache.ignite.transactions.TransactionConcurrency; import org.apache.ignite.transactions.TransactionHeuristicException; @@ -79,8 +80,6 @@ public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstrac cfg.setIndexingSpi(new TestIndexingSpi()); - cfg.getTransactionConfiguration().setTxSerializableEnabled(true); - return cfg; } @@ -91,7 +90,7 @@ public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstrac ccfg.setCacheStoreFactory(null); ccfg.setReadThrough(false); ccfg.setWriteThrough(false); - ccfg.setLoadPreviousValue(true); + ccfg.setLoadPreviousValue(false); ccfg.setIndexedTypes(Integer.class, Integer.class); @@ -100,6 +99,9 @@ public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstrac /** {@inheritDoc} */ @Override protected void beforeTestsStarted() throws Exception { + if (MvccFeatureChecker.forcedMvcc()) + fail("https://issues.apache.org/jira/browse/IGNITE-10377"); + super.beforeTestsStarted(); lastKey = 0; @@ -198,6 +200,9 @@ public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstrac * @throws Exception If failed. */ public void testRemovePrimary() throws Exception { + if (MvccFeatureChecker.forcedMvcc()) + fail("https://issues.apache.org/jira/browse/IGNITE-9470"); + checkRemove(false, keyForNode(grid(0).localNode(), PRIMARY)); checkRemove(true, keyForNode(grid(0).localNode(), PRIMARY)); @@ -318,6 +323,10 @@ public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstrac */ private void checkPutTx(boolean putBefore, TransactionConcurrency concurrency, TransactionIsolation isolation, final Integer... keys) throws Exception { + if (MvccFeatureChecker.forcedMvcc() && + !MvccFeatureChecker.isSupported(concurrency, isolation)) + return; + assertTrue(keys.length > 0); info("Test transaction [concurrency=" + concurrency + ", isolation=" + isolation + ']'); @@ -484,6 +493,9 @@ public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstrac * @throws Exception If failed. */ private void checkTransform(boolean putBefore, final Integer key) throws Exception { + if (MvccFeatureChecker.forcedMvcc()) + fail("https://issues.apache.org/jira/browse/IGNITE-9470"); + if (putBefore) { TestIndexingSpi.forceFail(false); http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java index 863ab38..30016da 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java @@ -37,6 +37,7 @@ import org.apache.ignite.internal.processors.cache.distributed.near.GridNearCach import org.apache.ignite.internal.transactions.IgniteTxHeuristicCheckedException; import org.apache.ignite.lang.IgniteBiInClosure; import org.apache.ignite.testframework.GridTestUtils; +import org.apache.ignite.testframework.MvccFeatureChecker; import org.apache.ignite.transactions.Transaction; import org.apache.ignite.transactions.TransactionConcurrency; import org.apache.ignite.transactions.TransactionIsolation; @@ -94,6 +95,8 @@ public abstract class IgniteTxStoreExceptionAbstractSelfTest extends GridCacheAb /** {@inheritDoc} */ @Override protected void beforeTestsStarted() throws Exception { + MvccFeatureChecker.failIfNotSupported(MvccFeatureChecker.Feature.CACHE_STORE); + store = new TestStore(); super.beforeTestsStarted(); http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/CacheKeepBinaryWithInterceptorTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/CacheKeepBinaryWithInterceptorTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/CacheKeepBinaryWithInterceptorTest.java index 6cef6d2..667b305 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/CacheKeepBinaryWithInterceptorTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/CacheKeepBinaryWithInterceptorTest.java @@ -17,6 +17,7 @@ package org.apache.ignite.internal.processors.cache.binary; +import javax.cache.Cache; import org.apache.ignite.IgniteCache; import org.apache.ignite.binary.BinaryObject; import org.apache.ignite.cache.CacheAtomicityMode; @@ -30,10 +31,10 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.jetbrains.annotations.Nullable; -import javax.cache.Cache; - -import static org.apache.ignite.cache.CacheAtomicityMode.*; -import static org.apache.ignite.cache.CacheWriteSynchronizationMode.*; +import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC; +import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; +import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT; +import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC; /** * @@ -55,16 +56,18 @@ public class CacheKeepBinaryWithInterceptorTest extends GridCommonAbstractTest { } /** {@inheritDoc} */ - @Override protected void beforeTestsStarted() throws Exception { - super.beforeTestsStarted(); + @Override protected void afterTest() throws Exception { + stopAllGrids(); - startGrid(0); + super.afterTest(); } /** * @throws Exception If failed. */ public void testKeepBinaryWithInterceptor() throws Exception { + startGrid(0); + keepBinaryWithInterceptor(cacheConfiguration(ATOMIC, false)); keepBinaryWithInterceptor(cacheConfiguration(TRANSACTIONAL, false)); @@ -81,6 +84,23 @@ public class CacheKeepBinaryWithInterceptorTest extends GridCommonAbstractTest { } /** + * @throws Exception If failed. + */ + public void testKeepBinaryWithInterceptorOnMvccCache() throws Exception { + fail("https://issues.apache.org/jira/browse/IGNITE-9323"); + + startGrid(0); + + keepBinaryWithInterceptor(cacheConfiguration(TRANSACTIONAL_SNAPSHOT, false)); + keepBinaryWithInterceptorPrimitives(cacheConfiguration(TRANSACTIONAL_SNAPSHOT, true)); + + startGridsMultiThreaded(1, 3); + + keepBinaryWithInterceptor(cacheConfiguration(TRANSACTIONAL_SNAPSHOT, false)); + keepBinaryWithInterceptorPrimitives(cacheConfiguration(TRANSACTIONAL_SNAPSHOT, true)); + } + + /** * @param ccfg Cache configuration. */ private void keepBinaryWithInterceptor(CacheConfiguration ccfg) { @@ -230,7 +250,8 @@ public class CacheKeepBinaryWithInterceptorTest extends GridCommonAbstractTest { } /** {@inheritDoc} */ - @Nullable @Override public BinaryObject onBeforePut(Cache.Entry<BinaryObject, BinaryObject> entry, BinaryObject newVal) { + @Nullable @Override public BinaryObject onBeforePut(Cache.Entry<BinaryObject, BinaryObject> entry, + BinaryObject newVal) { System.out.println("Before put [e=" + entry + ", newVal=" + newVal + ']'); onBeforePut++; @@ -255,7 +276,8 @@ public class CacheKeepBinaryWithInterceptorTest extends GridCommonAbstractTest { } /** {@inheritDoc} */ - @Nullable @Override public IgniteBiTuple<Boolean, BinaryObject> onBeforeRemove(Cache.Entry<BinaryObject, BinaryObject> entry) { + @Nullable @Override public IgniteBiTuple<Boolean, BinaryObject> onBeforeRemove( + Cache.Entry<BinaryObject, BinaryObject> entry) { assertEquals(1, (int)entry.getKey().field("key")); assertEquals(10, (int)entry.getValue().field("val")); http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/datastreaming/DataStreamProcessorPersistenceBinarySelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/datastreaming/DataStreamProcessorPersistenceBinarySelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/datastreaming/DataStreamProcessorPersistenceBinarySelfTest.java new file mode 100644 index 0000000..84fb997 --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/datastreaming/DataStreamProcessorPersistenceBinarySelfTest.java @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.processors.cache.binary.datastreaming; + +/** + * + */ +public class DataStreamProcessorPersistenceBinarySelfTest extends DataStreamProcessorBinarySelfTest { + /** {@inheritDoc} */ + @Override public boolean persistenceEnabled() { + return true; + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/datastreaming/GridDataStreamerImplSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/datastreaming/GridDataStreamerImplSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/datastreaming/GridDataStreamerImplSelfTest.java index c629871..1496792 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/datastreaming/GridDataStreamerImplSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/datastreaming/GridDataStreamerImplSelfTest.java @@ -258,7 +258,7 @@ public class GridDataStreamerImplSelfTest extends GridCommonAbstractTest { BinaryObjectBuilder obj = g0.binary().builder("NoExistedClass"); obj.setField("id", i); - obj.setField("name", String.valueOf("name = " + i)); + obj.setField("name", "name = " + i); dataLdr.addData(i, obj.build()); } http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/context/IgniteCachePartitionedExecutionContextTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/context/IgniteCachePartitionedExecutionContextTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/context/IgniteCachePartitionedExecutionContextTest.java deleted file mode 100644 index 36d2c2b..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/context/IgniteCachePartitionedExecutionContextTest.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.processors.cache.context; - -import org.apache.ignite.cache.CacheAtomicityMode; -import org.apache.ignite.cache.CacheMode; -import org.apache.ignite.configuration.NearCacheConfiguration; - -import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC; - -/** - * - */ -public class IgniteCachePartitionedExecutionContextTest extends IgniteCacheAbstractExecutionContextTest { - /** {@inheritDoc} */ - @Override protected CacheMode cacheMode() { - return CacheMode.PARTITIONED; - } - - /** {@inheritDoc} */ - @Override protected CacheAtomicityMode atomicityMode() { - return ATOMIC; - } - - /** {@inheritDoc} */ - @Override protected NearCacheConfiguration nearConfiguration() { - return null; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheTxNearUpdateTopologyChangeTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheTxNearUpdateTopologyChangeTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheTxNearUpdateTopologyChangeTest.java index df02bb9..f00f56b 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheTxNearUpdateTopologyChangeTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheTxNearUpdateTopologyChangeTest.java @@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.cache.distributed; import org.apache.ignite.cache.CacheAtomicityMode; import org.apache.ignite.internal.processors.cache.CacheNearUpdateTopologyChangeAbstractTest; +import org.apache.ignite.testframework.MvccFeatureChecker; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; @@ -27,6 +28,13 @@ import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; */ public class CacheTxNearUpdateTopologyChangeTest extends CacheNearUpdateTopologyChangeAbstractTest { /** {@inheritDoc} */ + @Override protected void beforeTestsStarted() throws Exception { + MvccFeatureChecker.failIfNotSupported(MvccFeatureChecker.Feature.NEAR_CACHE); + + super.beforeTestsStarted(); + } + + /** {@inheritDoc} */ @Override protected CacheAtomicityMode atomicityMode() { return TRANSACTIONAL; } http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java index c4aed34..e746b91 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java @@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.cache.distributed; import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; +import org.apache.ignite.cache.CacheAtomicityMode; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.internal.processors.cache.GridCacheAbstractByteArrayValuesSelfTest; @@ -37,17 +38,30 @@ import static org.junit.Assert.assertArrayEquals; */ public abstract class GridCacheAbstractDistributedByteArrayValuesSelfTest extends GridCacheAbstractByteArrayValuesSelfTest { - /** Grids. */ - protected static Ignite[] ignites; + /** */ + private static final String CACHE = "cache"; + + /** */ + private static final String MVCC_CACHE = "mvccCache"; /** Regular caches. */ private static IgniteCache<Integer, Object>[] caches; + /** Regular caches. */ + private static IgniteCache<Integer, Object>[] mvccCaches; + /** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { IgniteConfiguration c = super.getConfiguration(igniteInstanceName); - c.setCacheConfiguration(cacheConfiguration()); + CacheConfiguration mvccCfg = cacheConfiguration(MVCC_CACHE) + .setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT) + .setNearConfiguration(null); // TODO IGNITE-7187: remove near cache disabling. + + + CacheConfiguration ccfg = cacheConfiguration(CACHE); + + c.setCacheConfiguration(ccfg, mvccCfg); c.setPeerClassLoadingEnabled(peerClassLoading()); @@ -67,12 +81,13 @@ public abstract class GridCacheAbstractDistributedByteArrayValuesSelfTest extend } /** + * @param name Cache name. * @return Cache configuration. */ - protected CacheConfiguration cacheConfiguration() { + protected CacheConfiguration cacheConfiguration(String name) { CacheConfiguration cfg = cacheConfiguration0(); - cfg.setName(CACHE_REGULAR); + cfg.setName(name); return cfg; } @@ -85,26 +100,31 @@ public abstract class GridCacheAbstractDistributedByteArrayValuesSelfTest extend /** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override protected void beforeTestsStarted() throws Exception { + super.beforeTestsStarted(); + int gridCnt = gridCount(); assert gridCnt > 0; - ignites = new Ignite[gridCnt]; - caches = new IgniteCache[gridCnt]; + mvccCaches = new IgniteCache[gridCnt]; - for (int i = 0; i < gridCnt; i++) { - ignites[i] = startGrid(i); + startGridsMultiThreaded(gridCnt); - caches[i] = ignites[i].cache(CACHE_REGULAR); + for (int i = 0; i < gridCnt; i++) { + caches[i] = grid(i).cache(CACHE); + mvccCaches[i] = grid(i).cache(MVCC_CACHE); } } /** {@inheritDoc} */ @Override protected void afterTestsStopped() throws Exception { caches = null; + mvccCaches = null; - ignites = null; + stopAllGrids(); + + super.afterTestsStopped(); } /** @@ -144,6 +164,25 @@ public abstract class GridCacheAbstractDistributedByteArrayValuesSelfTest extend } /** + * Check whether cache with byte array entry works correctly in PESSIMISTIC transaction. + * + * @throws Exception If failed. + */ + public void testPessimisticMvcc() throws Exception { + testTransaction0(mvccCaches, PESSIMISTIC, KEY_1, wrap(1)); + } + + /** + * Check whether cache with byte array entry works correctly in PESSIMISTIC transaction. + * + * @throws Exception If failed. + */ + public void testPessimisticMvccMixed() throws Exception { + testTransactionMixed0(mvccCaches, PESSIMISTIC, KEY_1, wrap(1), KEY_2, 1); + } + + + /** * Test transaction behavior. * * @param caches Caches. http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractPartitionedByteArrayValuesSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractPartitionedByteArrayValuesSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractPartitionedByteArrayValuesSelfTest.java index 0ee6262..824cdf5 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractPartitionedByteArrayValuesSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractPartitionedByteArrayValuesSelfTest.java @@ -18,10 +18,7 @@ package org.apache.ignite.internal.processors.cache.distributed; import org.apache.ignite.configuration.CacheConfiguration; -import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.configuration.NearCacheConfiguration; -import org.apache.ignite.configuration.TransactionConfiguration; -import org.apache.ignite.testframework.MvccFeatureChecker; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; import static org.apache.ignite.cache.CacheMode.PARTITIONED; @@ -32,31 +29,9 @@ import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC; */ public abstract class GridCacheAbstractPartitionedByteArrayValuesSelfTest extends GridCacheAbstractDistributedByteArrayValuesSelfTest { - - /** {@inheritDoc} */ - @Override protected void beforeTestsStarted() throws Exception { - if (nearConfiguration() != null) - MvccFeatureChecker.failIfNotSupported(MvccFeatureChecker.Feature.NEAR_CACHE); - - super.beforeTestsStarted(); - } - - /** {@inheritDoc} */ - @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { - IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); - - TransactionConfiguration tCfg = new TransactionConfiguration(); - - tCfg.setTxSerializableEnabled(true); - - cfg.setTransactionConfiguration(tCfg); - - return cfg; - } - /** {@inheritDoc} */ @Override protected CacheConfiguration cacheConfiguration0() { - CacheConfiguration cfg = new CacheConfiguration(DEFAULT_CACHE_NAME); + CacheConfiguration cfg = new CacheConfiguration(); cfg.setCacheMode(PARTITIONED); cfg.setAtomicityMode(TRANSACTIONAL); http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheConnectionRecoveryTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheConnectionRecoveryTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheConnectionRecoveryTest.java index 5241c37..cc92ec1 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheConnectionRecoveryTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheConnectionRecoveryTest.java @@ -75,7 +75,8 @@ public class IgniteCacheConnectionRecoveryTest extends GridCommonAbstractTest { cfg.setCacheConfiguration( cacheConfiguration("cache1", TRANSACTIONAL), - cacheConfiguration("cache2", ATOMIC)); + //cacheConfiguration("cache2", TRANSACTIONAL_SNAPSHOT), //TODO IGNITE-10474: add Mvcc cache after fix. + cacheConfiguration("cache3", ATOMIC)); return cfg; } @@ -94,6 +95,7 @@ public class IgniteCacheConnectionRecoveryTest extends GridCommonAbstractTest { /** * @throws Exception If failed. */ + @SuppressWarnings("unchecked") public void testConnectionRecovery() throws Exception { final Map<Integer, Integer> data = new TreeMap<>(); @@ -115,16 +117,17 @@ public class IgniteCacheConnectionRecoveryTest extends GridCommonAbstractTest { Thread.currentThread().setName("test-thread-" + idx0 + "-" + node.name()); - IgniteCache cache1 = node.cache("cache1"); - IgniteCache cache2 = node.cache("cache2"); + IgniteCache[] caches = { + node.cache("cache1"), +// node.cache("cache2"), //TODO IGNITE-10474: add Mvcc cache after fix. + node.cache("cache3")}; int iter = 0; while (U.currentTimeMillis() < stopTime) { try { - cache1.putAllAsync(data).get(15, SECONDS); - - cache2.putAllAsync(data).get(15, SECONDS); + for (IgniteCache cache : caches) + cache.putAllAsync(data).get(15, SECONDS); CyclicBarrier b = barrierRef.get(); http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheMessageRecoveryIdleConnectionTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheMessageRecoveryIdleConnectionTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheMessageRecoveryIdleConnectionTest.java index 0f4aaa7..7689bc6 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheMessageRecoveryIdleConnectionTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheMessageRecoveryIdleConnectionTest.java @@ -37,6 +37,7 @@ import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; +import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT; import static org.apache.ignite.cache.CacheMode.REPLICATED; import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC; @@ -91,6 +92,13 @@ public class IgniteCacheMessageRecoveryIdleConnectionTest extends GridCommonAbst /** * @throws Exception If failed. */ + public void testCacheOperationsIdleConnectionCloseMvccTx() throws Exception { + cacheOperationsIdleConnectionClose(TRANSACTIONAL_SNAPSHOT); + } + + /** + * @throws Exception If failed. + */ public void testCacheOperationsIdleConnectionCloseAtomic() throws Exception { cacheOperationsIdleConnectionClose(ATOMIC); } http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheSystemTransactionsSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheSystemTransactionsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheSystemTransactionsSelfTest.java index eb19873..1d63587 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheSystemTransactionsSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheSystemTransactionsSelfTest.java @@ -19,9 +19,8 @@ package org.apache.ignite.internal.processors.cache.distributed; import java.util.Map; import org.apache.ignite.IgniteCache; -import org.apache.ignite.configuration.CacheConfiguration; +import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.internal.IgniteKernal; -import org.apache.ignite.internal.processors.cache.GridCacheAbstractSelfTest; import org.apache.ignite.internal.processors.cache.GridCacheAdapter; import org.apache.ignite.internal.processors.cache.GridCacheEntryEx; import org.apache.ignite.internal.processors.cache.IgniteInternalCache; @@ -30,6 +29,8 @@ import org.apache.ignite.internal.processors.cache.transactions.IgniteTxManager; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.internal.CU; import org.apache.ignite.internal.util.typedef.internal.U; +import org.apache.ignite.testframework.MvccFeatureChecker; +import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.apache.ignite.transactions.Transaction; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; @@ -41,19 +42,22 @@ import static org.apache.ignite.transactions.TransactionIsolation.SERIALIZABLE; /** * Tests that system transactions do not interact with user transactions. */ -public class IgniteCacheSystemTransactionsSelfTest extends GridCacheAbstractSelfTest { +public class IgniteCacheSystemTransactionsSelfTest extends GridCommonAbstractTest { + /** */ + private static final int NODES_CNT = 4; + /** {@inheritDoc} */ - @Override protected int gridCount() { - return 4; + @Override protected void beforeTestsStarted() throws Exception { + super.beforeTestsStarted(); + + startGridsMultiThreaded(NODES_CNT); } /** {@inheritDoc} */ - @Override protected CacheConfiguration cacheConfiguration(String igniteInstanceName) throws Exception { - CacheConfiguration ccfg = super.cacheConfiguration(igniteInstanceName); + @Override protected void afterTestsStopped() throws Exception { + stopAllGrids(); - ccfg.setAtomicityMode(TRANSACTIONAL); - - return ccfg; + super.afterTestsStopped(); } /** {@inheritDoc} */ @@ -67,10 +71,19 @@ public class IgniteCacheSystemTransactionsSelfTest extends GridCacheAbstractSelf } } + /** {@inheritDoc} */ + @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { + return super.getConfiguration(igniteInstanceName) + .setCacheConfiguration(defaultCacheConfiguration().setAtomicityMode(TRANSACTIONAL)); + } + /** * @throws Exception If failed. */ public void testSystemTxInsideUserTx() throws Exception { + if (MvccFeatureChecker.forcedMvcc()) + fail("https://issues.apache.org/jira/browse/IGNITE-10473"); + IgniteKernal ignite = (IgniteKernal)grid(0); IgniteCache<Object, Object> jcache = ignite.cache(DEFAULT_CACHE_NAME); @@ -100,8 +113,8 @@ public class IgniteCacheSystemTransactionsSelfTest extends GridCacheAbstractSelf checkTransactionsCommitted(); - checkEntries(DEFAULT_CACHE_NAME, "1", "11", "2", "22", "3", null); - checkEntries(CU.UTILITY_CACHE_NAME, "1", null, "2", "2", "3", "3"); + checkEntries(DEFAULT_CACHE_NAME, "1", "11", "2", "22", "3", null); + checkEntries(CU.UTILITY_CACHE_NAME, "1", null, "2", "2", "3", "3"); } /** @@ -112,7 +125,9 @@ public class IgniteCacheSystemTransactionsSelfTest extends GridCacheAbstractSelf IgniteInternalCache<Object, Object> utilityCache = ignite.context().cache().utilityCache(); - try (GridNearTxLocal itx = utilityCache.txStartEx(OPTIMISTIC, SERIALIZABLE)) { + try (GridNearTxLocal itx = MvccFeatureChecker.forcedMvcc() ? + utilityCache.txStartEx(PESSIMISTIC, REPEATABLE_READ) : + utilityCache.txStartEx(OPTIMISTIC, SERIALIZABLE)) { utilityCache.put("1", "1"); itx.commitNearTxLocalAsync(); @@ -124,7 +139,7 @@ public class IgniteCacheSystemTransactionsSelfTest extends GridCacheAbstractSelf * @throws Exception If failed. */ private void checkTransactionsCommitted() throws Exception { - for (int i = 0; i < gridCount(); i++) { + for (int i = 0; i < NODES_CNT; i++) { IgniteKernal kernal = (IgniteKernal)grid(i); IgniteTxManager tm = kernal.context().cache().context().tm(); @@ -149,7 +164,7 @@ public class IgniteCacheSystemTransactionsSelfTest extends GridCacheAbstractSelf * @throws Exception If failed. */ private void checkEntries(String cacheName, Object... vals) throws Exception { - for (int g = 0; g < gridCount(); g++) { + for (int g = 0; g < NODES_CNT; g++) { IgniteKernal kernal = (IgniteKernal)grid(g); GridCacheAdapter<Object, Object> cache = kernal.context().cache().internalCache(cacheName); http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCrossCacheTxStoreSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCrossCacheTxStoreSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCrossCacheTxStoreSelfTest.java index 66453b8..60c0837 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCrossCacheTxStoreSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCrossCacheTxStoreSelfTest.java @@ -17,15 +17,15 @@ package org.apache.ignite.internal.processors.cache.distributed; -import javax.cache.Cache; -import javax.cache.configuration.Factory; -import javax.cache.integration.CacheLoaderException; -import javax.cache.integration.CacheWriterException; import java.util.Collection; import java.util.Map; import java.util.Queue; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentLinkedDeque; +import javax.cache.Cache; +import javax.cache.configuration.Factory; +import javax.cache.integration.CacheLoaderException; +import javax.cache.integration.CacheWriterException; import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; import org.apache.ignite.cache.store.CacheStore; @@ -37,6 +37,7 @@ import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.lang.IgniteBiInClosure; import org.apache.ignite.resources.CacheStoreSessionResource; import org.apache.ignite.resources.IgniteInstanceResource; +import org.apache.ignite.testframework.MvccFeatureChecker; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.apache.ignite.transactions.Transaction; import org.jetbrains.annotations.Nullable; @@ -90,6 +91,8 @@ public class IgniteCrossCacheTxStoreSelfTest extends GridCommonAbstractTest { /** {@inheritDoc} */ @Override protected void beforeTestsStarted() throws Exception { + MvccFeatureChecker.failIfNotSupported(MvccFeatureChecker.Feature.CACHE_STORE); + super.beforeTestsStarted(); cleanPersistenceDir(); http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheAbstractPartitionedOnlyByteArrayValuesSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheAbstractPartitionedOnlyByteArrayValuesSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheAbstractPartitionedOnlyByteArrayValuesSelfTest.java index 18459c9..45d6c0b 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheAbstractPartitionedOnlyByteArrayValuesSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheAbstractPartitionedOnlyByteArrayValuesSelfTest.java @@ -17,6 +17,7 @@ package org.apache.ignite.internal.processors.cache.distributed.dht; +import java.util.Arrays; import org.apache.ignite.IgniteCache; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; @@ -31,8 +32,8 @@ import static org.junit.Assert.assertArrayEquals; */ public abstract class GridCacheAbstractPartitionedOnlyByteArrayValuesSelfTest extends GridCacheAbstractPartitionedByteArrayValuesSelfTest { - /** Offheap cache name. */ - protected static final String CACHE_ATOMIC = "cache_atomic"; + /** */ + public static final String ATOMIC_CACHE = "atomicCache"; /** Atomic caches. */ private static IgniteCache<Integer, Object>[] cachesAtomic; @@ -43,10 +44,16 @@ public abstract class GridCacheAbstractPartitionedOnlyByteArrayValuesSelfTest ex CacheConfiguration atomicCacheCfg = cacheConfiguration0(); - atomicCacheCfg.setName(CACHE_ATOMIC); + atomicCacheCfg.setName(ATOMIC_CACHE); atomicCacheCfg.setAtomicityMode(ATOMIC); - c.setCacheConfiguration(cacheConfiguration(), atomicCacheCfg); + int size = c.getCacheConfiguration().length; + + CacheConfiguration[] configs = Arrays.copyOf(c.getCacheConfiguration(), size + 1); + + configs[size] = atomicCacheCfg; + + c.setCacheConfiguration(configs); c.setPeerClassLoadingEnabled(peerClassLoading()); @@ -68,7 +75,7 @@ public abstract class GridCacheAbstractPartitionedOnlyByteArrayValuesSelfTest ex cachesAtomic = new IgniteCache[gridCnt]; for (int i = 0; i < gridCount(); i++) - cachesAtomic[i] = ignites[i].cache(CACHE_ATOMIC); + cachesAtomic[i] = grid(i).cache(ATOMIC_CACHE); } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheGlobalLoadTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheGlobalLoadTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheGlobalLoadTest.java index 6024030..63b2449 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheGlobalLoadTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheGlobalLoadTest.java @@ -32,6 +32,7 @@ import org.apache.ignite.internal.processors.cache.IgniteCacheAbstractTest; import org.apache.ignite.lang.IgniteBiInClosure; import org.apache.ignite.lang.IgniteBiPredicate; import org.apache.ignite.resources.IgniteInstanceResource; +import org.apache.ignite.testframework.MvccFeatureChecker; import org.jetbrains.annotations.Nullable; import org.junit.Assert; @@ -69,6 +70,13 @@ public class GridCacheGlobalLoadTest extends IgniteCacheAbstractTest { return new NearCacheConfiguration(); } + /** {@inheritDoc} */ + @Override protected void beforeTestsStarted() throws Exception { + MvccFeatureChecker.failIfNotSupported(MvccFeatureChecker.Feature.CACHE_STORE); + + super.beforeTestsStarted(); + } + /** * @throws Exception If failed. */ http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAbstractNearPartitionedByteArrayValuesSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAbstractNearPartitionedByteArrayValuesSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAbstractNearPartitionedByteArrayValuesSelfTest.java index c6c849a..188c364 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAbstractNearPartitionedByteArrayValuesSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAbstractNearPartitionedByteArrayValuesSelfTest.java @@ -29,4 +29,18 @@ public abstract class GridCacheAbstractNearPartitionedByteArrayValuesSelfTest ex @Override protected NearCacheConfiguration nearConfiguration() { return new NearCacheConfiguration(); } + + /** {@inheritDoc} */ + @Override public void testPessimisticMvcc() throws Exception { + fail("https://issues.apache.org/jira/browse/IGNITE-7187"); + + super.testPessimisticMvcc(); + } + + /** {@inheritDoc} */ + @Override public void testPessimisticMvccMixed() throws Exception { + fail("https://issues.apache.org/jira/browse/IGNITE-7187"); + + super.testPessimisticMvccMixed(); + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheGetStoreErrorSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheGetStoreErrorSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheGetStoreErrorSelfTest.java index cb537ee..013f885 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheGetStoreErrorSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheGetStoreErrorSelfTest.java @@ -32,6 +32,7 @@ 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.MvccFeatureChecker; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; @@ -55,6 +56,14 @@ public class GridCacheGetStoreErrorSelfTest extends GridCommonAbstractTest { /** Cache mode for test. */ private CacheMode cacheMode; + + /** {@inheritDoc} */ + @Override protected void beforeTestsStarted() throws Exception { + MvccFeatureChecker.failIfNotSupported(MvccFeatureChecker.Feature.CACHE_STORE); + + super.beforeTestsStarted(); + } + /** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { @@ -116,7 +125,7 @@ public class GridCacheGetStoreErrorSelfTest extends GridCommonAbstractTest { this.nearEnabled = nearEnabled; this.cacheMode = cacheMode; - startGrids(3); + startGridsMultiThreaded(3); try { GridTestUtils.assertThrows(log, new Callable<Object>() { http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java index d6e3804..277e829 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java @@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.cache.distributed.near; import org.apache.ignite.cache.CacheMode; import org.apache.ignite.internal.processors.cache.IgniteTxExceptionAbstractSelfTest; +import org.apache.ignite.testframework.MvccFeatureChecker; import static org.apache.ignite.cache.CacheMode.PARTITIONED; @@ -27,6 +28,13 @@ import static org.apache.ignite.cache.CacheMode.PARTITIONED; */ public class GridCacheNearTxExceptionSelfTest extends IgniteTxExceptionAbstractSelfTest { /** {@inheritDoc} */ + @Override protected void beforeTestsStarted() throws Exception { + MvccFeatureChecker.failIfNotSupported(MvccFeatureChecker.Feature.NEAR_CACHE); + + super.beforeTestsStarted(); + } + + /** {@inheritDoc} */ @Override protected CacheMode cacheMode() { return PARTITIONED; } http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedStorePutSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedStorePutSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedStorePutSelfTest.java index 96d4603..3f72756 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedStorePutSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedStorePutSelfTest.java @@ -18,6 +18,7 @@ package org.apache.ignite.internal.processors.cache.distributed.near; import java.util.concurrent.atomic.AtomicInteger; +import javax.cache.Cache; import org.apache.ignite.IgniteCache; import org.apache.ignite.cache.store.CacheStoreAdapter; import org.apache.ignite.configuration.CacheConfiguration; @@ -28,7 +29,9 @@ import org.apache.ignite.spi.discovery.DiscoverySpi; 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.MvccFeatureChecker; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; +import org.apache.ignite.transactions.Transaction; import static org.apache.ignite.cache.CacheMode.PARTITIONED; import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC; @@ -45,13 +48,14 @@ public class GridCachePartitionedStorePutSelfTest extends GridCommonAbstractTest private static final AtomicInteger CNT = new AtomicInteger(0); /** */ - private IgniteCache<Integer, Integer> cache1; + private static AtomicInteger loads; - /** */ - private IgniteCache<Integer, Integer> cache2; + /** {@inheritDoc} */ + @Override protected void beforeTestsStarted() throws Exception { + MvccFeatureChecker.failIfNotSupported(MvccFeatureChecker.Feature.CACHE_STORE); - /** */ - private IgniteCache<Integer, Integer> cache3; + super.beforeTestsStarted(); + } /** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { @@ -95,9 +99,9 @@ public class GridCachePartitionedStorePutSelfTest extends GridCommonAbstractTest /** {@inheritDoc} */ @Override protected void beforeTest() throws Exception { - cache1 = startGrid(1).cache(DEFAULT_CACHE_NAME); - cache2 = startGrid(2).cache(DEFAULT_CACHE_NAME); - cache3 = startGrid(3).cache(DEFAULT_CACHE_NAME); + loads = new AtomicInteger(); + + startGridsMultiThreaded(3); } /** {@inheritDoc} */ @@ -105,21 +109,35 @@ public class GridCachePartitionedStorePutSelfTest extends GridCommonAbstractTest stopAllGrids(); } - /** - * @throws Exception If failed. - */ - public void testPutx() throws Throwable { - info("Putting to the first node."); + /** */ + public void testPutShouldNotTriggerLoad() { + checkPut(0); - cache1.put(0, 1); + assertEquals(0, loads.get()); - info("Putting to the second node."); + checkPut(1); - cache2.put(0, 2); + assertEquals(0, loads.get()); - info("Putting to the third node."); + checkPut(2); + + assertEquals(0, loads.get()); + } + + /** */ + public void checkPut(int idx) { + IgniteCache<Object, Object> cache = grid(idx).cache(DEFAULT_CACHE_NAME); + + cache.put(0, 1); + + try (Transaction tx = grid(idx).transactions().txStart()) { + cache.put(1, 1); + cache.put(2, 2); + + tx.commit(); + } - cache3.put(0, 3); + assertEquals(0, loads.get()); } /** @@ -128,13 +146,13 @@ public class GridCachePartitionedStorePutSelfTest extends GridCommonAbstractTest private static class TestStore extends CacheStoreAdapter<Object, Object> { /** {@inheritDoc} */ @Override public Object load(Object key) { - assert false; + loads.incrementAndGet(); return null; } /** {@inheritDoc} */ - @Override public void write(javax.cache.Cache.Entry<? extends Object, ? extends Object> e) { + @Override public void write(Cache.Entry<? extends Object, ? extends Object> e) { // No-op } http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheAbstractReplicatedByteArrayValuesSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheAbstractReplicatedByteArrayValuesSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheAbstractReplicatedByteArrayValuesSelfTest.java index 9fd2f29..b4e58fc 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheAbstractReplicatedByteArrayValuesSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheAbstractReplicatedByteArrayValuesSelfTest.java @@ -41,7 +41,7 @@ public abstract class GridCacheAbstractReplicatedByteArrayValuesSelfTest extends /** {@inheritDoc} */ @Override protected CacheConfiguration cacheConfiguration0() { - CacheConfiguration cfg = new CacheConfiguration(DEFAULT_CACHE_NAME); + CacheConfiguration cfg = new CacheConfiguration(); cfg.setCacheMode(REPLICATED); cfg.setAtomicityMode(TRANSACTIONAL); http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java index e6c4771..63f910f 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java @@ -56,7 +56,6 @@ public class GridCacheLocalByteArrayValuesSelfTest extends GridCacheAbstractByte CacheConfiguration ccfg = new CacheConfiguration(DEFAULT_CACHE_NAME); - ccfg.setName(CACHE_REGULAR); ccfg.setAtomicityMode(TRANSACTIONAL); ccfg.setCacheMode(LOCAL); ccfg.setWriteSynchronizationMode(FULL_SYNC); @@ -72,14 +71,14 @@ public class GridCacheLocalByteArrayValuesSelfTest extends GridCacheAbstractByte ignite = startGrid(1); - cache = ignite.cache(CACHE_REGULAR); + cache = ignite.cache(DEFAULT_CACHE_NAME); } /** {@inheritDoc} */ @Override protected void afterTestsStopped() throws Exception { cache = null; - ignite = null; + stopAllGrids(); } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/2b2f50ca/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/GridCacheLocalTxExceptionSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/GridCacheLocalTxExceptionSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/GridCacheLocalTxExceptionSelfTest.java index 63a900d..ae1e2d0 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/GridCacheLocalTxExceptionSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/GridCacheLocalTxExceptionSelfTest.java @@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.cache.local; import org.apache.ignite.cache.CacheMode; import org.apache.ignite.internal.processors.cache.IgniteTxExceptionAbstractSelfTest; +import org.apache.ignite.testframework.MvccFeatureChecker; import static org.apache.ignite.cache.CacheMode.LOCAL; @@ -27,6 +28,13 @@ import static org.apache.ignite.cache.CacheMode.LOCAL; */ public class GridCacheLocalTxExceptionSelfTest extends IgniteTxExceptionAbstractSelfTest { /** {@inheritDoc} */ + @Override protected void beforeTestsStarted() throws Exception { + MvccFeatureChecker.failIfNotSupported(MvccFeatureChecker.Feature.LOCAL_CACHE); + + super.beforeTestsStarted(); + } + + /** {@inheritDoc} */ @Override protected int gridCount() { return 1; }
