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;
     }

Reply via email to