http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/968c3cf8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationValidationSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationValidationSelfTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationValidationSelfTest.java
deleted file mode 100644
index ba76e4a..0000000
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationValidationSelfTest.java
+++ /dev/null
@@ -1,197 +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.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.cache.*;
-import org.apache.ignite.cache.affinity.consistenthash.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.internal.processors.cache.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.apache.ignite.testframework.junits.common.*;
-
-import static org.apache.ignite.cache.GridCacheMemoryMode.*;
-import static org.apache.ignite.cache.GridCacheMode.*;
-import static org.apache.ignite.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.cache.GridCacheWriteSynchronizationMode.*;
-
-/**
- * Attribute validation self test.
- */
-public class GridCacheConfigurationValidationSelfTest extends 
GridCommonAbstractTest {
-    /** */
-    private static final String NON_DFLT_CACHE_NAME = "non-dflt-cache";
-
-    /** */
-    private static final String WRONG_PRELOAD_MODE_GRID_NAME = 
"preloadModeCheckFails";
-
-    /** */
-    private static final String WRONG_CACHE_MODE_GRID_NAME = 
"cacheModeCheckFails";
-
-    /** */
-    private static final String WRONG_AFFINITY_GRID_NAME = 
"cacheAffinityCheckFails";
-
-    /** */
-    private static final String WRONG_AFFINITY_MAPPER_GRID_NAME = 
"cacheAffinityMapperCheckFails";
-
-    /** */
-    private static final String WRONG_OFF_HEAP_GRID_NAME = 
"cacheOhhHeapCheckFails";
-
-    /** */
-    private static final String DUP_CACHES_GRID_NAME = 
"duplicateCachesCheckFails";
-
-    /** */
-    private static final String DUP_DFLT_CACHES_GRID_NAME = 
"duplicateDefaultCachesCheckFails";
-
-    /** */
-    private static TcpDiscoveryIpFinder ipFinder = new 
TcpDiscoveryVmIpFinder(true);
-
-    /**
-     * Constructs test.
-     */
-    public GridCacheConfigurationValidationSelfTest() {
-        super(/* don't start grid */ false);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
-        IgniteConfiguration cfg = super.getConfiguration(gridName);
-
-        TcpDiscoverySpi spi = new TcpDiscoverySpi();
-
-        spi.setIpFinder(ipFinder);
-
-        cfg.setDiscoverySpi(spi);
-
-        // Default cache config.
-        CacheConfiguration dfltCacheCfg = defaultCacheConfiguration();
-
-        dfltCacheCfg.setCacheMode(PARTITIONED);
-        dfltCacheCfg.setPreloadMode(ASYNC);
-        dfltCacheCfg.setWriteSynchronizationMode(FULL_SYNC);
-        dfltCacheCfg.setAffinity(new 
GridCacheConsistentHashAffinityFunction());
-
-        // Non-default cache configuration.
-        CacheConfiguration namedCacheCfg = defaultCacheConfiguration();
-
-        namedCacheCfg.setCacheMode(PARTITIONED);
-        namedCacheCfg.setPreloadMode(ASYNC);
-        namedCacheCfg.setWriteSynchronizationMode(FULL_SYNC);
-        namedCacheCfg.setName(NON_DFLT_CACHE_NAME);
-        namedCacheCfg.setAffinity(new 
GridCacheConsistentHashAffinityFunction());
-
-        // Modify cache config according to test parameters.
-        if (gridName.contains(WRONG_PRELOAD_MODE_GRID_NAME))
-            dfltCacheCfg.setPreloadMode(SYNC);
-        else if (gridName.contains(WRONG_CACHE_MODE_GRID_NAME))
-            dfltCacheCfg.setCacheMode(REPLICATED);
-        else if (gridName.contains(WRONG_AFFINITY_GRID_NAME)) {
-            dfltCacheCfg.setAffinity(new 
GridCacheConsistentHashAffinityFunction() {
-                // No-op. Just to have another class name.
-            });
-        }
-        else if (gridName.contains(WRONG_AFFINITY_MAPPER_GRID_NAME)) {
-            dfltCacheCfg.setAffinityMapper(new 
GridCacheDefaultAffinityKeyMapper() {
-                // No-op. Just to have another class name.
-            });
-        }
-        else if (gridName.contains(WRONG_OFF_HEAP_GRID_NAME))
-            dfltCacheCfg.setMemoryMode(OFFHEAP_VALUES);
-
-        if (gridName.contains(DUP_CACHES_GRID_NAME))
-            cfg.setCacheConfiguration(namedCacheCfg, namedCacheCfg);
-        else if (gridName.contains(DUP_DFLT_CACHES_GRID_NAME))
-            cfg.setCacheConfiguration(dfltCacheCfg, dfltCacheCfg);
-        else
-            // Normal configuration.
-            cfg.setCacheConfiguration(dfltCacheCfg, namedCacheCfg);
-
-        return cfg;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTestsStopped() throws Exception {
-        super.afterTestsStopped();
-
-        stopAllGrids();
-    }
-
-    /**
-     * This test method does not require remote nodes.
-     *
-     * @throws Exception If failed.
-     */
-    public void testDuplicateCacheConfigurations() throws Exception {
-        // This grid should not start.
-        startInvalidGrid(DUP_CACHES_GRID_NAME);
-
-        // This grid should not start.
-        startInvalidGrid(DUP_DFLT_CACHES_GRID_NAME);
-    }
-
-    /**
-     * @throws Exception If fails.
-     */
-    public void testCacheAttributesValidation() throws Exception {
-        try {
-            startGrid(0);
-
-            // This grid should not start.
-            startInvalidGrid(WRONG_PRELOAD_MODE_GRID_NAME);
-
-            // This grid should not start.
-            startInvalidGrid(WRONG_CACHE_MODE_GRID_NAME);
-
-            // This grid should not start.
-            startInvalidGrid(WRONG_AFFINITY_GRID_NAME);
-
-            // This grid should not start.
-            startInvalidGrid(WRONG_AFFINITY_MAPPER_GRID_NAME);
-
-            // This grid will start normally.
-            startGrid(1);
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testInvalidOffHeapConfiguration() throws Exception {
-        startInvalidGrid(WRONG_OFF_HEAP_GRID_NAME);
-    }
-
-    /**
-     * Starts grid that will fail to start due to invalid configuration.
-     *
-     * @param name Name of the grid which will have invalid configuration.
-     */
-    private void startInvalidGrid(String name) {
-        try {
-            startGrid(name);
-
-            assert false : "Exception should have been thrown.";
-        }
-        catch (Exception e) {
-            info("Caught expected exception: " + e);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/968c3cf8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
deleted file mode 100644
index 9bfa65d..0000000
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
+++ /dev/null
@@ -1,189 +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.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.transactions.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.apache.ignite.testframework.junits.common.*;
-
-import java.util.*;
-
-import static org.apache.ignite.cache.GridCacheAtomicityMode.*;
-import static org.apache.ignite.cache.GridCacheMode.*;
-import static org.apache.ignite.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
-import static org.apache.ignite.transactions.IgniteTxIsolation.*;
-
-/**
- * Test cache operations with daemon node.
- */
-public abstract class GridCacheDaemonNodeAbstractSelfTest extends 
GridCommonAbstractTest {
-    /** */
-    private static TcpDiscoveryIpFinder ipFinder = new 
TcpDiscoveryVmIpFinder(true);
-
-    /** Daemon flag. */
-    protected boolean daemon;
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        super.beforeTest();
-
-        daemon = false;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
-        IgniteConfiguration c = super.getConfiguration(gridName);
-
-        c.setDaemon(daemon);
-
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
-
-        disco.setIpFinder(ipFinder);
-
-        c.setDiscoverySpi(disco);
-
-        c.setRestEnabled(false);
-
-        CacheConfiguration cc = defaultCacheConfiguration();
-
-        cc.setCacheMode(cacheMode());
-        cc.setAtomicityMode(TRANSACTIONAL);
-        cc.setDistributionMode(NEAR_PARTITIONED);
-
-        c.setCacheConfiguration(cc);
-
-        return c;
-    }
-
-    /**
-     * Returns cache mode specific for test.
-     *
-     * @return Cache configuration.
-     */
-    protected abstract GridCacheMode cacheMode();
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testImplicit() throws Exception {
-        try {
-            startGridsMultiThreaded(3);
-
-            daemon = true;
-
-            startGrid(4);
-
-            GridCache<Integer, Integer> cache = grid(0).cache(null);
-
-            for (int i = 0; i < 30; i++)
-                cache.put(i, i);
-
-            Map<Integer, Integer> batch = new HashMap<>();
-
-            for (int i = 30; i < 60; i++)
-                batch.put(i, i);
-
-            cache.putAll(batch);
-
-            for (int i = 0; i < 60; i++)
-                assertEquals(i, (int)cache.get(i));
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testExplicit() throws Exception {
-        try {
-            startGridsMultiThreaded(3);
-
-            daemon = true;
-
-            startGrid(4);
-
-            GridCache<Integer, Integer> cache = grid(0).cache(null);
-
-            for (int i = 0; i < 30; i++) {
-                try (IgniteTx tx = cache.txStart(PESSIMISTIC, 
REPEATABLE_READ)) {
-                    cache.put(i, i);
-
-                    tx.commit();
-                }
-            }
-
-            Map<Integer, Integer> batch = new HashMap<>();
-
-            for (int i = 30; i < 60; i++)
-                batch.put(i, i);
-
-            try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
-                cache.putAll(batch);
-                tx.commit();
-            }
-
-            for (int i = 0; i < 60; i++)
-                assertEquals(i, (int)cache.get(i));
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /**
-     * Test mapKeyToNode() method for normal and daemon nodes.
-     *
-     * @throws Exception If failed.
-     */
-    public void testMapKeyToNode() throws Exception {
-        try {
-            // Start normal nodes.
-            Ignite g1 = startGridsMultiThreaded(3);
-
-            // Start daemon node.
-            daemon = true;
-
-            Ignite g2 = startGrid(4);
-
-            for (long i = 0; i < Integer.MAX_VALUE; i = (i << 1) + 1) {
-                ClusterNode n;
-
-                // Call mapKeyToNode for normal node.
-                assertNotNull(n = g1.cluster().mapKeyToNode(null, i));
-
-                // Call mapKeyToNode for daemon node.
-                if (cacheMode() == PARTITIONED)
-                    assertEquals(n, g2.cluster().mapKeyToNode(null, i));
-                else
-                    assertNotNull(g2.cluster().mapKeyToNode(null, i));
-            }
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/968c3cf8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentOffHeapSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentOffHeapSelfTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentOffHeapSelfTest.java
deleted file mode 100644
index 621a72c..0000000
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentOffHeapSelfTest.java
+++ /dev/null
@@ -1,42 +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.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.cache.*;
-
-import static org.apache.ignite.cache.GridCacheAtomicityMode.*;
-import static org.apache.ignite.cache.GridCacheMemoryMode.*;
-import static org.apache.ignite.cache.GridCacheDistributionMode.*;
-
-/**
- * Tests deployment with off-heap storage.
- */
-public class GridCacheDeploymentOffHeapSelfTest extends 
GridCacheDeploymentSelfTest {
-    /** {@inheritDoc} */
-    @Override protected CacheConfiguration cacheConfiguration() throws 
Exception {
-        CacheConfiguration cacheCfg = super.cacheConfiguration();
-
-        cacheCfg.setQueryIndexEnabled(false);
-        cacheCfg.setMemoryMode(OFFHEAP_VALUES);
-        cacheCfg.setOffHeapMaxMemory(0);
-        cacheCfg.setAtomicityMode(TRANSACTIONAL);
-        cacheCfg.setDistributionMode(NEAR_PARTITIONED);
-
-        return cacheCfg;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/968c3cf8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java
deleted file mode 100644
index 26ceb74..0000000
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java
+++ /dev/null
@@ -1,485 +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.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
-import org.apache.ignite.cache.affinity.*;
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.marshaller.optimized.*;
-import org.apache.ignite.transactions.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.apache.ignite.internal.util.typedef.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
-import org.apache.ignite.testframework.junits.common.*;
-
-import java.lang.reflect.*;
-import java.util.*;
-
-import static org.apache.ignite.configuration.IgniteDeploymentMode.*;
-import static org.apache.ignite.cache.GridCacheAtomicityMode.*;
-import static org.apache.ignite.cache.GridCacheMode.*;
-import static org.apache.ignite.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.IgniteTxConcurrency.PESSIMISTIC;
-import static org.apache.ignite.transactions.IgniteTxIsolation.REPEATABLE_READ;
-import static org.apache.ignite.cache.GridCacheWriteSynchronizationMode.*;
-
-/**
- * Cache + Deployment test.
- */
-public class GridCacheDeploymentSelfTest extends GridCommonAbstractTest {
-    /** IP finder. */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
-
-    /** Name for grid without cache. */
-    private static final String GRID_NAME = "grid-no-cache";
-
-    /** First test task name. */
-    private static final String TEST_TASK_1 = 
"org.gridgain.grid.tests.p2p.GridCacheDeploymentTestTask1";
-
-    /** Second test task name. */
-    private static final String TEST_TASK_2 = 
"org.gridgain.grid.tests.p2p.GridCacheDeploymentTestTask2";
-
-    /** Third test task name. */
-    private static final String TEST_TASK_3 = 
"org.gridgain.grid.tests.p2p.GridCacheDeploymentTestTask3";
-
-    /** Test value 1. */
-    private static final String TEST_KEY = 
"org.gridgain.grid.tests.p2p.GridCacheDeploymentTestKey";
-
-    /** Test value 1. */
-    private static final String TEST_VALUE_1 = 
"org.gridgain.grid.tests.p2p.GridCacheDeploymentTestValue";
-
-    /** Test value 2. */
-    private static final String TEST_VALUE_2 = 
"org.gridgain.grid.tests.p2p.GridCacheDeploymentTestValue2";
-
-    /** */
-    private IgniteDeploymentMode depMode;
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
-        IgniteConfiguration cfg = super.getConfiguration(gridName);
-
-        cfg.setDeploymentMode(depMode);
-
-        if (GRID_NAME.equals(gridName))
-            cfg.setCacheConfiguration();
-        else
-            cfg.setCacheConfiguration(cacheConfiguration());
-
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
-
-        disco.setIpFinder(IP_FINDER);
-
-        cfg.setDiscoverySpi(disco);
-
-        cfg.setRestEnabled(false);
-
-        cfg.setMarshaller(new IgniteOptimizedMarshaller(false));
-
-        return cfg;
-    }
-
-    /**
-     * @return Cache configuration.
-     * @throws Exception In case of error.
-     */
-    protected CacheConfiguration cacheConfiguration() throws Exception {
-        CacheConfiguration cfg = defaultCacheConfiguration();
-
-        cfg.setCacheMode(PARTITIONED);
-        cfg.setWriteSynchronizationMode(FULL_SYNC);
-        cfg.setPreloadMode(SYNC);
-        cfg.setStoreValueBytes(true);
-        cfg.setAtomicityMode(TRANSACTIONAL);
-        cfg.setDistributionMode(NEAR_PARTITIONED);
-        cfg.setBackups(1);
-
-        return cfg;
-    }
-
-    /** @throws Exception If failed. */
-    @SuppressWarnings("unchecked")
-    public void testDeployment() throws Exception {
-        try {
-            depMode = CONTINUOUS;
-
-            Ignite g1 = startGrid(1);
-            Ignite g2 = startGrid(2);
-
-            Ignite g0 = startGrid(GRID_NAME);
-
-            ClassLoader ldr = getExternalClassLoader();
-
-            Class cls = ldr.loadClass(TEST_TASK_1);
-
-            g0.compute().execute(cls, g1.cluster().localNode());
-
-            cls = ldr.loadClass(TEST_TASK_2);
-
-            g0.compute().execute(cls, g2.cluster().localNode());
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /** @throws Exception If failed. */
-    @SuppressWarnings("unchecked")
-    public void testDeployment2() throws Exception {
-        try {
-            depMode = CONTINUOUS;
-
-            Ignite g1 = startGrid(1);
-            Ignite g2 = startGrid(2);
-
-            Ignite g0 = startGrid(GRID_NAME);
-
-            ClassLoader ldr = getExternalClassLoader();
-
-            Class cls = ldr.loadClass(TEST_TASK_3);
-
-            String key = "";
-
-            for (int i = 0; i < 1000; i++) {
-                key = "1" + i;
-
-                if (g1.cluster().mapKeyToNode(null, 
key).id().equals(g2.cluster().localNode().id()))
-                    break;
-            }
-
-            g0.compute().execute(cls, new T2<>(g1.cluster().localNode(), key));
-
-            cls = ldr.loadClass(TEST_TASK_2);
-
-            g0.compute().execute(cls, g2.cluster().localNode());
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /** @throws Exception If failed. */
-    @SuppressWarnings("unchecked")
-    public void testDeployment3() throws Exception {
-        try {
-            depMode = SHARED;
-
-            Ignite g1 = startGrid(1);
-            Ignite g2 = startGrid(2);
-
-            Ignite g0 = startGrid(GRID_NAME);
-
-            ClassLoader ldr = getExternalClassLoader();
-
-            Class cls = ldr.loadClass(TEST_TASK_3);
-
-            String key = "";
-
-            for (int i = 0; i < 1000; i++) {
-                key = "1" + i;
-
-                if (g1.cluster().mapKeyToNode(null, 
key).id().equals(g2.cluster().localNode().id()))
-                    break;
-            }
-
-            g0.compute().execute(cls, new T2<>(g1.cluster().localNode(), key));
-
-            stopGrid(GRID_NAME);
-
-            for (int i = 0; i < 10; i++) {
-                if (g1.cache(null).isEmpty() && g2.cache(null).isEmpty())
-                    break;
-
-                U.sleep(500);
-            }
-
-            assert g1.cache(null).isEmpty();
-            assert g2.cache(null).isEmpty();
-
-            startGrid(3);
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /** @throws Exception If failed. */
-    @SuppressWarnings("unchecked")
-    public void testDeployment4() throws Exception {
-        try {
-            depMode = CONTINUOUS;
-
-            Ignite g1 = startGrid(1);
-            Ignite g2 = startGrid(2);
-
-            Ignite g0 = startGrid(GRID_NAME);
-
-            info("Started grids:");
-            info("g0: " + g0.cluster().localNode().id());
-            info("g1: " + g1.cluster().localNode().id());
-            info("g2: " + g2.cluster().localNode().id());
-
-            ClassLoader ldr = getExternalClassLoader();
-
-            Class cls = ldr.loadClass(TEST_TASK_3);
-
-            String key = "";
-
-            for (int i = 0; i < 1000; i++) {
-                key = "1" + i;
-
-                if (g1.cluster().mapKeyToNode(null, 
key).id().equals(g2.cluster().localNode().id()))
-                    break;
-            }
-
-            g0.compute().execute(cls, new T2<>(g1.cluster().localNode(), key));
-
-            stopGrid(GRID_NAME);
-
-            assert g1.cache(null).size() == 1;
-            assert g1.cache(null).size() == 1;
-
-            assert g2.cache(null).size() == 1;
-            assert g2.cache(null).size() == 1;
-
-            startGrid(3);
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /** @throws Exception If failed. */
-    @SuppressWarnings("unchecked")
-    public void testDeployment5() throws Exception {
-        ClassLoader ldr = getExternalClassLoader();
-
-        Class val1Cls = ldr.loadClass(TEST_VALUE_1);
-        Class val2Cls = ldr.loadClass(TEST_VALUE_2);
-        Class task2Cls = ldr.loadClass(TEST_TASK_2);
-
-        try {
-            depMode = SHARED;
-
-            Ignite g0 = startGrid(0);
-            Ignite g1 = startGrid(1);
-            Ignite g2 = startGrid(2);
-
-            info(">>>>>>> Grid 0: " + g0.cluster().localNode().id());
-            info(">>>>>>> Grid 1: " + g1.cluster().localNode().id());
-            info(">>>>>>> Grid 2: " + g2.cluster().localNode().id());
-
-            int key = 0;
-
-            key = getNextKey(key, g0, g1.cluster().localNode(), 
g2.cluster().localNode(), g0.cluster().localNode());
-
-            info("Key: " + key);
-
-            GridCache<Object, Object> cache = g0.cache(null);
-
-            assert cache != null;
-
-            cache.put(key, Arrays.asList(val1Cls.newInstance()));
-
-            info(">>>>>>> First put completed.");
-
-            key = getNextKey(key + 1, g0, g2.cluster().localNode(), 
g0.cluster().localNode(), g1.cluster().localNode());
-
-            info("Key: " + key);
-
-            cache.put(key, val1Cls.newInstance());
-
-            info(">>>>>>> Second put completed.");
-
-            key = getNextKey(key + 1, g0, g1.cluster().localNode(), 
g2.cluster().localNode(), g0.cluster().localNode());
-
-            info("Key: " + key);
-
-            cache.put(key, val2Cls.newInstance());
-
-            info(">>>>>>> Third put completed.");
-
-            g0.compute().execute(task2Cls, g1.cluster().localNode());
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /** @throws Exception If failed. */
-    @SuppressWarnings("unchecked")
-    public void testDeployment6() throws Exception {
-        try {
-            depMode = SHARED;
-
-            Ignite g1 = startGrid(1);
-            Ignite g2 = startGrid(2);
-
-            ClassLoader ldr = getExternalClassLoader();
-
-            Class cls = ldr.loadClass(TEST_TASK_3);
-
-            String key = "";
-
-            for (int i = 0; i < 1000; i++) {
-                key = "1" + i;
-
-                if (g1.cluster().mapKeyToNode(null, 
key).id().equals(g2.cluster().localNode().id()))
-                    break;
-            }
-
-            g1.compute().execute(cls, new T2<>(g2.cluster().localNode(), key));
-
-            stopGrid(1);
-
-            startGrid(3);
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /** @throws Exception If failed. */
-    @SuppressWarnings("unchecked")
-    public void testDeployment7() throws Exception {
-        try {
-            depMode = SHARED;
-
-            Ignite g1 = startGrid(1);
-            Ignite g2 = startGrid(2);
-
-            ClassLoader ldr = getExternalClassLoader();
-
-            Class cls = ldr.loadClass(TEST_TASK_3);
-
-            String key = "";
-
-            for (int i = 0; i < 1000; i++) {
-                key = "1" + i;
-
-                if (g1.cluster().mapKeyToNode(null, 
key).id().equals(g2.cluster().localNode().id()))
-                    break;
-            }
-
-            g2.compute().execute(cls, new T2<>(g2.cluster().localNode(), key));
-
-            stopGrid(2);
-
-            startGrid(3);
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /** @throws Exception If failed. */
-    public void testPartitionedDeploymentPreloading() throws Exception {
-        ClassLoader ldr = getExternalClassLoader();
-
-        Class valCls = ldr.loadClass(TEST_VALUE_1);
-
-        try {
-            depMode = SHARED;
-
-            Ignite g = startGrid(0);
-
-            g.cache(null).put(0, valCls.newInstance());
-
-            info("Added value to cache 0.");
-
-            startGrid(1);
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /** @throws Exception If failed. */
-    public void _testDeploymentGroupLock() throws Exception {
-        ClassLoader ldr = getExternalClassLoader();
-
-        Class<?> keyCls = ldr.loadClass(TEST_KEY);
-
-        try {
-            depMode = SHARED;
-
-            Ignite g1 = startGrid(1);
-            startGrid(2);
-
-            Constructor<?> constructor = 
keyCls.getDeclaredConstructor(String.class);
-
-            Object affKey;
-
-            int i = 0;
-
-            do {
-                affKey = constructor.newInstance(String.valueOf(i));
-
-                i++;
-            }
-            while (!g1.cluster().mapKeyToNode(null, 
affKey).id().equals(g1.cluster().localNode().id()));
-
-            GridCache<Object, Object> cache = g1.cache(null);
-
-            try (IgniteTx tx = cache.txStartAffinity(affKey, PESSIMISTIC, 
REPEATABLE_READ, 0, 1)) {
-                cache.put(new GridCacheAffinityKey<>("key1", affKey), "val1");
-
-                tx.commit();
-            }
-
-            assertEquals("val1", cache.get(new GridCacheAffinityKey<>("key1", 
affKey)));
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /**
-     * Looks for next key starting from {@code start} for which primary node 
is {@code primary} and backup is {@code
-     * backup}.
-     *
-     * @param start Key to start search from, inclusive.
-     * @param g Grid on which check will be performed.
-     * @param primary Expected primary node.
-     * @param backup Expected backup node.
-     * @param near Expected near node.
-     * @return Key with described properties.
-     * @throws IllegalStateException if such a key could not be found after 
10000 iterations.
-     */
-    private int getNextKey(int start, Ignite g, ClusterNode primary, 
ClusterNode backup, ClusterNode near) {
-        info("Primary: " + primary);
-        info("Backup: " + backup);
-        info("Near: " + near);
-
-        for (int i = start; i < start + 10000; i++) {
-            if (g.cache(null).affinity().isPrimary(primary, i) && 
g.cache(null).affinity().isBackup(backup, i)) {
-                assert !g.cache(null).affinity().isPrimary(near, i) : "Key: " 
+ i;
-                assert !g.cache(null).affinity().isBackup(near, i) : "Key: " + 
i;
-
-                return i;
-            }
-        }
-
-        throw new IllegalStateException("Unable to find matching key [start=" 
+ start + ", primary=" + primary.id() +
-            ", backup=" + backup.id() + ']');
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/968c3cf8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryVersionSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryVersionSelfTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryVersionSelfTest.java
deleted file mode 100644
index bda7d4b..0000000
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryVersionSelfTest.java
+++ /dev/null
@@ -1,159 +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.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.cache.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.internal.*;
-import org.apache.ignite.internal.processors.cache.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.apache.ignite.internal.util.typedef.*;
-import org.apache.ignite.testframework.junits.common.*;
-
-import java.util.*;
-
-import static org.apache.ignite.cache.GridCacheAtomicWriteOrderMode.*;
-import static org.apache.ignite.cache.GridCacheAtomicityMode.*;
-import static org.apache.ignite.cache.GridCacheMode.*;
-import static org.apache.ignite.cache.GridCacheWriteSynchronizationMode.*;
-import static 
org.apache.ignite.internal.processors.cache.GridCacheVersionManager.*;
-
-/**
- * Tests that entry version is
- */
-public class GridCacheEntryVersionSelfTest extends GridCommonAbstractTest {
-    /** IP finder. */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
-
-    /** Atomicity mode. */
-    private GridCacheAtomicityMode atomicityMode;
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
-        IgniteConfiguration cfg = super.getConfiguration(gridName);
-
-        TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
-
-        discoSpi.setIpFinder(IP_FINDER);
-
-        CacheConfiguration ccfg = new CacheConfiguration();
-
-        ccfg.setCacheMode(PARTITIONED);
-        ccfg.setAtomicWriteOrderMode(PRIMARY);
-        ccfg.setBackups(1);
-        ccfg.setAtomicityMode(atomicityMode);
-        ccfg.setWriteSynchronizationMode(FULL_SYNC);
-
-        cfg.setCacheConfiguration(ccfg);
-
-        cfg.setDiscoverySpi(discoSpi);
-
-        return cfg;
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testVersionAtomic() throws Exception {
-        atomicityMode = ATOMIC;
-
-        checkVersion();
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testVersionTransactional() throws Exception {
-        atomicityMode = TRANSACTIONAL;
-
-        checkVersion();
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    private void checkVersion() throws Exception {
-        startGridsMultiThreaded(3);
-
-        try {
-            Map<Integer,Integer> map = F.asMap(1, 1, 2, 2, 3, 3);
-
-            for (Integer key : map.keySet()) {
-                info("Affinity nodes [key=" + key + ", nodes=" +
-                    
F.viewReadOnly(grid(0).cache(null).affinity().mapKeyToPrimaryAndBackups(key), 
F.node2id()) + ']');
-            }
-
-            grid(0).cache(null).putAll(map);
-
-            for (int g = 0; g < 3; g++) {
-                GridKernal grid = (GridKernal)grid(g);
-
-                for (Integer key : map.keySet()) {
-                    GridCacheAdapter<Object, Object> cache = 
grid.internalCache();
-
-                    GridCacheEntryEx<Object, Object> entry = cache.peekEx(key);
-
-                    if (entry != null) {
-                        GridCacheVersion ver = entry.version();
-
-                        long order = 
cache.affinity().mapKeyToNode(key).order();
-
-                        // Check topology version.
-                        assertEquals(3, ver.topologyVersion() -
-                            (grid.context().discovery().gridStartTime() - 
TOP_VER_BASE_TIME) / 1000);
-
-                        // Check node order.
-                        assertEquals("Failed for key: " + key, order, 
ver.nodeOrder());
-                    }
-                }
-            }
-
-            startGrid(3);
-
-            grid(0).cache(null).putAll(map);
-
-            for (int g = 0; g < 4; g++) {
-                GridKernal grid = (GridKernal)grid(g);
-
-                for (Integer key : map.keySet()) {
-                    GridCacheAdapter<Object, Object> cache = 
grid.internalCache();
-
-                    GridCacheEntryEx<Object, Object> entry = cache.peekEx(key);
-
-                    if (entry != null) {
-                        GridCacheVersion ver = entry.version();
-
-                        long order = 
cache.affinity().mapKeyToNode(key).order();
-
-                        // Check topology version.
-                        assertEquals(4, ver.topologyVersion() -
-                            (grid.context().discovery().gridStartTime() - 
TOP_VER_BASE_TIME) / 1000);
-
-                        // Check node order.
-                        assertEquals("Failed for key: " + key, order, 
ver.nodeOrder());
-                    }
-                }
-            }
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/968c3cf8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionEventAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionEventAbstractTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionEventAbstractTest.java
deleted file mode 100644
index c5ec876..0000000
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionEventAbstractTest.java
+++ /dev/null
@@ -1,121 +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.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.events.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.apache.ignite.testframework.junits.common.*;
-
-import java.util.concurrent.*;
-import java.util.concurrent.atomic.*;
-
-import static org.apache.ignite.events.IgniteEventType.*;
-
-/**
- * Eviction event self test.
- */
-public abstract class GridCacheEvictionEventAbstractTest extends 
GridCommonAbstractTest {
-    /** */
-    private static TcpDiscoveryIpFinder ipFinder = new 
TcpDiscoveryVmIpFinder(true);
-
-    /**
-     *
-     */
-    protected GridCacheEvictionEventAbstractTest() {
-        super(true); // Start node.
-    }
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration() throws 
Exception {
-        IgniteConfiguration c = super.getConfiguration();
-
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
-
-        disco.setIpFinder(ipFinder);
-
-        c.setDiscoverySpi(disco);
-
-        CacheConfiguration cc = defaultCacheConfiguration();
-
-        cc.setCacheMode(cacheMode());
-        cc.setAtomicityMode(atomicityMode());
-        cc.setEvictNearSynchronized(isNearEvictSynchronized());
-
-        c.setCacheConfiguration(cc);
-
-        c.setIncludeEventTypes(EVT_CACHE_ENTRY_EVICTED, EVT_TASK_FAILED, 
EVT_TASK_FINISHED, EVT_JOB_MAPPED);
-
-        return c;
-    }
-
-    /**
-     * @return Cache mode.
-     */
-    protected abstract GridCacheMode cacheMode();
-
-    /**
-     * @return Atomicity mode.
-     */
-    protected abstract GridCacheAtomicityMode atomicityMode();
-
-    /**
-     * @return {@code True} if near evicts synchronized.
-     */
-    protected boolean isNearEvictSynchronized() {
-        return false;
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testEvictionEvent() throws Exception {
-        Ignite g = grid();
-
-        final CountDownLatch latch = new CountDownLatch(1);
-
-        final AtomicReference<String> oldVal = new AtomicReference<>();
-
-        g.events().localListen(new IgnitePredicate<IgniteEvent>() {
-            @Override public boolean apply(IgniteEvent evt) {
-                IgniteCacheEvent e = (IgniteCacheEvent) evt;
-
-                oldVal.set((String) e.oldValue());
-
-                latch.countDown();
-
-                return true;
-            }
-        }, IgniteEventType.EVT_CACHE_ENTRY_EVICTED);
-
-        GridCache<String, String> c = g.cache(null);
-
-        c.put("1", "val1");
-
-        c.evict("1");
-
-        latch.await();
-
-        assertNotNull(oldVal.get());
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/968c3cf8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java
deleted file mode 100644
index 9d7ff29..0000000
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java
+++ /dev/null
@@ -1,104 +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.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.cache.*;
-import org.apache.ignite.events.*;
-import org.apache.ignite.internal.processors.cache.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.transactions.*;
-import org.apache.ignite.internal.util.typedef.*;
-import org.apache.ignite.testframework.*;
-
-import java.util.concurrent.atomic.*;
-
-import static org.apache.ignite.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
-import static org.apache.ignite.transactions.IgniteTxIsolation.*;
-import static org.apache.ignite.events.IgniteEventType.*;
-
-/**
- * Abstract test for private cache interface.
- */
-public abstract class GridCacheExAbstractFullApiSelfTest extends 
GridCacheAbstractSelfTest {
-    /** {@inheritDoc} */
-    @Override protected int gridCount() {
-        return 4;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridCacheDistributionMode distributionMode() {
-        return PARTITIONED_ONLY;
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testGetOutTx() throws Exception {
-        final AtomicInteger lockEvtCnt = new AtomicInteger();
-
-        IgnitePredicate<IgniteEvent> lsnr = new IgnitePredicate<IgniteEvent>() 
{
-            @Override public boolean apply(IgniteEvent evt) {
-                lockEvtCnt.incrementAndGet();
-
-                return true;
-            }
-        };
-
-        try {
-            grid(0).events().localListen(lsnr, EVT_CACHE_OBJECT_LOCKED, 
EVT_CACHE_OBJECT_UNLOCKED);
-
-            GridCache<String, Integer> cache = cache();
-
-            try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
-                int key = 0;
-
-                for (int i = 0; i < 1000; i++) {
-                    if (cache.affinity().mapKeyToNode("key" + 
i).id().equals(grid(0).localNode().id())) {
-                        key = i;
-
-                        break;
-                    }
-                }
-
-                cache.get("key" + key);
-
-                for (int i = key + 1; i < 1000; i++) {
-                    if (cache.affinity().mapKeyToNode("key" + 
i).id().equals(grid(0).localNode().id())) {
-                        key = i;
-
-                        break;
-                    }
-                }
-
-                ((GridCacheProjectionEx<String, 
Integer>)cache).getAllOutTx(F.asList("key" + key));
-            }
-
-            assertTrue(GridTestUtils.waitForCondition(new PA() {
-                @Override public boolean apply() {
-                    info("Lock event count: " + lockEvtCnt.get());
-
-                    return lockEvtCnt.get() == (nearEnabled() ? 4 : 2);
-                }
-            }, 15000));
-        }
-        finally {
-            grid(0).events().stopLocalListen(lsnr, EVT_CACHE_OBJECT_LOCKED, 
EVT_CACHE_OBJECT_UNLOCKED);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/968c3cf8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFieldsQueryNoDataSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFieldsQueryNoDataSelfTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFieldsQueryNoDataSelfTest.java
deleted file mode 100644
index a5208c7..0000000
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFieldsQueryNoDataSelfTest.java
+++ /dev/null
@@ -1,82 +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.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.cache.*;
-import org.apache.ignite.cache.query.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.apache.ignite.testframework.junits.common.*;
-
-import java.util.*;
-
-import static org.apache.ignite.cache.GridCacheMode.*;
-import static org.apache.ignite.cache.GridCacheWriteSynchronizationMode.*;
-
-/**
- * Test for local query on partitioned cache without data.
- */
-public class GridCacheFieldsQueryNoDataSelfTest extends GridCommonAbstractTest 
{
-    /** IP finder. */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
-        IgniteConfiguration cfg = super.getConfiguration(gridName);
-
-        CacheConfiguration cache = defaultCacheConfiguration();
-
-        cache.setCacheMode(PARTITIONED);
-        cache.setBackups(1);
-        cache.setWriteSynchronizationMode(FULL_SYNC);
-
-        cfg.setCacheConfiguration(cache);
-
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
-
-        disco.setIpFinder(IP_FINDER);
-
-        cfg.setDiscoverySpi(disco);
-
-        return cfg;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTestsStarted() throws Exception {
-        startGrid();
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTestsStopped() throws Exception {
-        stopGrid();
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testQuery() throws Exception {
-        GridCacheQuery<List<?>> qry = 
grid().cache(null).queries().createSqlFieldsQuery("select _VAL from Integer");
-
-        Collection<List<?>> res = qry.execute().get();
-
-        assert res != null;
-        assert res.isEmpty();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/968c3cf8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java
deleted file mode 100644
index 32e92ef..0000000
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java
+++ /dev/null
@@ -1,313 +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.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.cache.*;
-import org.apache.ignite.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.internal.*;
-import org.apache.ignite.internal.processors.cache.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.transactions.*;
-import org.apache.ignite.internal.util.typedef.*;
-import org.apache.ignite.testframework.*;
-
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.concurrent.atomic.*;
-
-import static org.apache.ignite.cache.GridCacheAtomicityMode.*;
-import static org.apache.ignite.cache.GridCacheMode.*;
-import static org.apache.ignite.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
-import static org.apache.ignite.transactions.IgniteTxIsolation.*;
-
-/**
- * Abstract class for cache tests.
- */
-public class GridCacheFinishPartitionsSelfTest extends 
GridCacheAbstractSelfTest {
-    /** */
-    private static final int GRID_CNT = 1;
-
-    /** Grid kernal. */
-    private GridKernal grid;
-
-    /** {@inheritDoc} */
-    @Override protected int gridCount() {
-        return GRID_CNT;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        grid = (GridKernal)grid(0);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTest() throws Exception {
-        grid = null;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
-        IgniteConfiguration c = super.getConfiguration(gridName);
-
-        CacheConfiguration cc = defaultCacheConfiguration();
-
-        cc.setCacheMode(PARTITIONED);
-        cc.setBackups(1);
-        cc.setAtomicityMode(TRANSACTIONAL);
-        cc.setDistributionMode(NEAR_PARTITIONED);
-
-        c.setCacheConfiguration(cc);
-
-        return c;
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testTxFinishPartitions() throws Exception {
-        String key = "key";
-        String val = "value";
-
-        GridCache<String, String> cache = grid.cache(null);
-
-        int keyPart = grid.<String, 
String>internalCache().context().affinity().partition(key);
-
-        cache.put(key, val);
-
-        // Wait for tx-enlisted partition.
-        long waitTime = runTransactions(key, keyPart, F.asList(keyPart));
-
-        info("Wait time, ms: " + waitTime);
-
-        // Wait for not enlisted partition.
-        waitTime = runTransactions(key, keyPart, F.asList(keyPart + 1));
-
-        info("Wait time, ms: " + waitTime);
-
-        // Wait for both partitions.
-        waitTime = runTransactions(key, keyPart, F.asList(keyPart, keyPart + 
1));
-
-        info("Wait time, ms: " + waitTime);
-    }
-
-    /**
-     * @param key Key.
-     * @param keyPart Key partition.
-     * @param waitParts Partitions to wait.
-     * @return Wait time.
-     * @throws Exception If failed.
-     */
-    private long runTransactions(final String key, final int keyPart, final 
Collection<Integer> waitParts)
-        throws Exception {
-        int threadNum = 1;
-
-        final CyclicBarrier barrier = new CyclicBarrier(threadNum);
-        final CountDownLatch latch = new CountDownLatch(threadNum);
-
-        final AtomicLong start = new AtomicLong();
-
-        GridTestUtils.runMultiThreaded(new Callable() {
-            @Override public Object call() throws Exception {
-                if (barrier.await() == 0)
-                    start.set(System.currentTimeMillis());
-
-                GridCache<String, String> cache = grid(0).cache(null);
-
-                IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ);
-
-                cache.get(key);
-
-                IgniteFuture<?> fut = 
grid.context().cache().context().partitionReleaseFuture(GRID_CNT + 1);
-
-                fut.listenAsync(new CI1<IgniteFuture<?>>() {
-                    @Override public void apply(IgniteFuture<?> e) {
-                        latch.countDown();
-                    }
-                });
-
-                assert !fut.isDone() : "Failed waiting for locks " +
-                    "[keyPart=" + keyPart + ", waitParts=" + waitParts + ", 
done=" + fut.isDone() + ']';
-
-                tx.commit();
-
-                return null;
-            }
-        }, threadNum, "test-finish-partitions-thread");
-
-        latch.await();
-
-        return System.currentTimeMillis() - start.get();
-    }
-
-    /**
-     * Tests method {@link 
GridCacheMvccManager#finishLocks(org.apache.ignite.lang.IgnitePredicate, long)}.
-     *
-     * @throws Exception If failed.
-     */
-    public void testMvccFinishPartitions() throws Exception {
-        String key = "key";
-
-        int keyPart = grid.internalCache().context().affinity().partition(key);
-
-        // Wait for tx-enlisted partition.
-        long waitTime = runLock(key, keyPart, F.asList(keyPart));
-
-        info("Wait time, ms: " + waitTime);
-
-        // Wait for not enlisted partition.
-        waitTime = runLock(key, keyPart, F.asList(keyPart + 1));
-
-        info("Wait time, ms: " + waitTime);
-
-        // Wait for both partitions.
-        waitTime = runLock(key, keyPart, F.asList(keyPart, keyPart + 1));
-
-        info("Wait time, ms: " + waitTime);
-    }
-
-    /**
-     * Tests finish future for particular set of keys.
-     *
-     * @throws Exception If failed.
-     */
-    public void testMvccFinishKeys() throws Exception {
-        GridCache<String, Integer> cache = grid(0).cache(null);
-
-        try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
-            final String key = "key";
-
-            cache.get(key);
-
-            GridCacheAdapter<String, Integer> internal = grid.internalCache();
-
-            IgniteFuture<?> nearFut = 
internal.context().mvcc().finishKeys(Collections.singletonList(key), 2);
-
-            IgniteFuture<?> dhtFut = 
internal.context().near().dht().context().mvcc().finishKeys(
-                Collections.singletonList(key), 2);
-
-            assert !nearFut.isDone();
-            assert !dhtFut.isDone();
-
-            tx.commit();
-        }
-    }
-
-    /**
-     * Tests chained locks and partitions release future.
-     *
-     * @throws Exception If failed.
-     */
-    public void testMvccFinishPartitionsContinuousLockAcquireRelease() throws 
Exception {
-        int key = 1;
-
-        GridCacheSharedContext<Object, Object> ctx = 
grid.context().cache().context();
-
-        final AtomicLong end = new AtomicLong(0);
-
-        final CountDownLatch latch = new CountDownLatch(1);
-
-        IgniteCache<Integer, String> cache = grid.jcache(null);
-
-        cache.lock(key).lock();
-
-        long start = System.currentTimeMillis();
-
-        info("Start time: " + start);
-
-        IgniteFuture<?> fut = ctx.partitionReleaseFuture(GRID_CNT + 1);
-
-        assert fut != null;
-
-        fut.listenAsync(new CI1<IgniteFuture<?>>() {
-            @Override public void apply(IgniteFuture<?> e) {
-                end.set(System.currentTimeMillis());
-
-                latch.countDown();
-
-                info("End time: " + end.get());
-            }
-        });
-
-        cache.lock(key + 1).lock();
-
-        cache.lock(key).unlock();
-
-        cache.lock(key + 2).lock();
-
-        cache.lock(key + 1).unlock();
-
-        assert !fut.isDone() : "Failed waiting for locks";
-
-        cache.lock(key + 2).unlock();
-
-        latch.await();
-    }
-
-    /**
-     * @param key Key.
-     * @param keyPart Key partition.
-     * @param waitParts Partitions to wait.
-     * @return Wait time.
-     * @throws Exception If failed.
-     */
-    private long runLock(String key, int keyPart, Collection<Integer> 
waitParts) throws Exception {
-
-        GridCacheSharedContext<Object, Object> ctx = 
grid.context().cache().context();
-
-        final AtomicLong end = new AtomicLong(0);
-
-        final CountDownLatch latch = new CountDownLatch(1);
-
-        IgniteCache<String, String> cache = grid.jcache(null);
-
-        cache.lock(key).lock();
-
-        long start;
-        try {
-            start = System.currentTimeMillis();
-
-            info("Start time: " + start);
-
-            IgniteFuture<?> fut = ctx.partitionReleaseFuture(GRID_CNT + 1);
-
-            assert fut != null;
-
-            fut.listenAsync(new CI1<IgniteFuture<?>>() {
-                @Override public void apply(IgniteFuture<?> e) {
-                    end.set(System.currentTimeMillis());
-
-                    latch.countDown();
-
-                    info("End time: " + end.get());
-                }
-            });
-
-            assert !fut.isDone() : "Failed waiting for locks [keyPart=" + 
keyPart + ", waitParts=" + waitParts + ", done="
-                + fut.isDone() + ']';
-        }
-        finally {
-            cache.lock(key).unlock();
-        }
-
-        latch.await();
-
-        return end.get() - start;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/968c3cf8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFullTextQueryMultithreadedSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFullTextQueryMultithreadedSelfTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFullTextQueryMultithreadedSelfTest.java
deleted file mode 100644
index 88d00be..0000000
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFullTextQueryMultithreadedSelfTest.java
+++ /dev/null
@@ -1,156 +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.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.cache.*;
-import org.apache.ignite.cache.query.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.internal.util.typedef.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
-
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.concurrent.atomic.*;
-
-import static org.apache.ignite.cache.GridCacheMode.*;
-import static org.apache.ignite.cache.GridCacheWriteSynchronizationMode.*;
-
-/**
- * Multithreaded reduce query tests with lots of data.
- */
-public class GridCacheFullTextQueryMultithreadedSelfTest extends 
GridCacheAbstractSelfTest {
-    /** */
-    private static final int GRID_CNT = 3;
-
-    /** */
-    private static final int TEST_TIMEOUT = 15 * 60 * 1000;
-
-    /** {@inheritDoc} */
-    @Override protected int gridCount() {
-        return GRID_CNT;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected long getTestTimeout() {
-        return TEST_TIMEOUT;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected CacheConfiguration cacheConfiguration(String gridName) 
throws Exception {
-        CacheConfiguration cfg = super.cacheConfiguration(gridName);
-
-        cfg.setCacheMode(PARTITIONED);
-        cfg.setBackups(1);
-        cfg.setWriteSynchronizationMode(FULL_SYNC);
-
-        return cfg;
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception In case of error.
-     */
-    @SuppressWarnings({"TooBroadScope"})
-    public void testH2Text() throws Exception {
-        int duration = 60 * 1000;
-        final int keyCnt = 5000;
-        final int logFreq = 50;
-        final String txt = "Value";
-
-        final GridCache<Integer, H2TextValue> c = grid(0).cache(null);
-
-        IgniteFuture<?> fut1 = multithreadedAsync(new Callable() {
-                @Override public Object call() throws Exception {
-                    for (int i = 0; i < keyCnt; i++) {
-                        c.putx(i, new H2TextValue(txt));
-
-                        if (i % logFreq == 0)
-                            X.println("Stored values: " + i);
-                    }
-
-                    return null;
-                }
-            }, 1);
-
-        // Create query.
-        final GridCacheQuery<Map.Entry<Integer, H2TextValue>> qry = 
c.queries().createFullTextQuery(
-            H2TextValue.class, txt);
-
-        qry.enableDedup(false);
-        qry.includeBackups(false);
-        qry.timeout(TEST_TIMEOUT);
-
-        final AtomicBoolean stop = new AtomicBoolean();
-
-        IgniteFuture<?> fut2 = multithreadedAsync(new Callable() {
-                @Override public Object call() throws Exception {
-                    int cnt = 0;
-
-                    while (!stop.get()) {
-                        Collection<Map.Entry<Integer, H2TextValue>> res = 
qry.execute().get();
-
-                        cnt++;
-
-                        if (cnt % logFreq == 0) {
-                            X.println("Result set: " + res.size());
-                            X.println("Executed queries: " + cnt);
-                        }
-                    }
-
-                    return null;
-                }
-            }, 1);
-
-        Thread.sleep(duration);
-
-        fut1.get();
-
-        stop.set(true);
-
-        fut2.get();
-    }
-
-    /**
-     *
-     */
-    private static class H2TextValue {
-        /** */
-        @GridCacheQueryTextField
-        private final String val;
-
-        /**
-         * @param val String value.
-         */
-        H2TextValue(String val) {
-            this.val = val;
-        }
-
-        /**
-         * @return String field value.
-         */
-        String value() {
-            return val;
-        }
-
-        /** {@inheritDoc} */
-        @Override public String toString() {
-            return S.toString(H2TextValue.class, this);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/968c3cf8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGenericTestStore.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGenericTestStore.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGenericTestStore.java
deleted file mode 100644
index d536bee..0000000
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGenericTestStore.java
+++ /dev/null
@@ -1,274 +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.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cache.store.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
-
-import javax.cache.*;
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.concurrent.atomic.*;
-
-import static javax.cache.Cache.*;
-
-/**
- * Test store.
- */
-@SuppressWarnings({"TypeParameterExtendsFinalClass"})
-public class GridCacheGenericTestStore<K, V> extends CacheStore<K, V> {
-    /** Store. */
-    private final Map<K, V> map = new ConcurrentHashMap<>();
-
-    /** Last method called. */
-    private String lastMtd;
-
-    /** */
-    private long ts = System.currentTimeMillis();
-
-    /** {@link #write(Entry)} method call counter .*/
-    private AtomicInteger putCnt = new AtomicInteger();
-
-    /** {@link #writeAll(Collection)} method call counter .*/
-    private AtomicInteger putAllCnt = new AtomicInteger();
-
-    /** {@link #delete(Object)} method call counter. */
-    private AtomicInteger rmvCnt = new AtomicInteger();
-
-    /** {@link #deleteAll(Collection)} method call counter. */
-    private AtomicInteger rmvAllCnt = new AtomicInteger();
-
-    /** Flag indicating if methods of this store should fail. */
-    private volatile boolean shouldFail;
-
-    /** Configurable delay to simulate slow storage. */
-    private int operationDelay;
-
-    /**
-     * @return Underlying map.
-     */
-    public Map<K, V> getMap() {
-        return Collections.unmodifiableMap(map);
-    }
-
-    /**
-     * Sets a flag indicating if methods of this class should fail with {@link 
IgniteCheckedException}.
-     *
-     * @param shouldFail {@code true} if should fail.
-     */
-    public void setShouldFail(boolean shouldFail) {
-        this.shouldFail = shouldFail;
-    }
-
-    /**
-     * Sets delay that this store should wait on each operation.
-     *
-     * @param operationDelay If zero, no delay applied, positive value means
-     *        delay in milliseconds.
-     */
-    public void setOperationDelay(int operationDelay) {
-        assert operationDelay >= 0;
-
-        this.operationDelay = operationDelay;
-    }
-
-    /**
-     *
-     * @return Last method called.
-     */
-    public String getLastMethod() {
-        return lastMtd;
-    }
-
-    /**
-     * @return Last timestamp.
-     */
-    public long getTimestamp() {
-        return ts;
-    }
-
-    /**
-     * @return Integer timestamp.
-     */
-    public int getStart() {
-        return Math.abs((int)ts);
-    }
-
-    /**
-     * Sets last method to <tt>null</tt>.
-     */
-    public void resetLastMethod() {
-        lastMtd = null;
-    }
-
-    /**
-     * Resets timestamp.
-     */
-    public void resetTimestamp() {
-        ts = System.currentTimeMillis();
-    }
-
-    /**
-     * Resets the store to initial state.
-     */
-    public void reset() {
-        lastMtd = null;
-
-        map.clear();
-
-        putCnt.set(0);
-        putAllCnt.set(0);
-        rmvCnt.set(0);
-        rmvAllCnt.set(0);
-
-        ts = System.currentTimeMillis();
-    }
-
-    /**
-     * @return Count of {@link #write(Entry)} method calls since last reset.
-     */
-    public int getPutCount() {
-        return putCnt.get();
-    }
-
-    /**
-     * @return Count of {@link #writeAll(Collection)} method calls since last 
reset.
-     */
-    public int getPutAllCount() {
-        return putAllCnt.get();
-    }
-
-    /**
-     * @return Number of {@link #delete(Object)} method calls since last reset.
-     */
-    public int getRemoveCount() {
-        return rmvCnt.get();
-    }
-
-    /**
-     * @return Number of {@link #deleteAll(Collection)} method calls since 
last reset.
-     */
-    public int getRemoveAllCount() {
-        return rmvAllCnt.get();
-    }
-
-    /** {@inheritDoc} */
-    @Override public V load(K key) {
-        lastMtd = "load";
-
-        checkOperation();
-
-        return map.get(key);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void loadCache(IgniteBiInClosure<K, V> clo, Object[] 
args) {
-        lastMtd = "loadAllFull";
-
-        checkOperation();
-    }
-
-    /** {@inheritDoc} */
-    @Override public Map<K, V> loadAll(Iterable<? extends K> keys) {
-        lastMtd = "loadAll";
-
-        Map<K, V> loaded = new HashMap<>();
-
-        for (K key : keys) {
-            V val = map.get(key);
-
-            if (val != null)
-                loaded.put(key, val);
-        }
-
-        checkOperation();
-
-        return loaded;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void write(Cache.Entry<? extends K, ? extends V> e) {
-        lastMtd = "put";
-
-        checkOperation();
-
-        map.put(e.getKey(), e.getValue());
-
-        putCnt.incrementAndGet();
-    }
-
-    /** {@inheritDoc} */
-    @Override public void writeAll(Collection<Cache.Entry<? extends K, ? 
extends V>> entries) {
-        lastMtd = "putAll";
-
-        checkOperation();
-
-        for (Cache.Entry<? extends K, ? extends V> e : entries)
-            this.map.put(e.getKey(), e.getValue());
-
-        putAllCnt.incrementAndGet();
-    }
-
-    /** {@inheritDoc} */
-    @Override public void delete(Object key) {
-        lastMtd = "remove";
-
-        checkOperation();
-
-        map.remove(key);
-
-        rmvCnt.incrementAndGet();
-    }
-
-    /** {@inheritDoc} */
-    @Override public void deleteAll(Collection<?> keys) {
-        lastMtd = "removeAll";
-
-        checkOperation();
-
-        for (Object key : keys)
-            map.remove(key);
-
-        rmvAllCnt.incrementAndGet();
-    }
-
-    /** {@inheritDoc} */
-    @Override public void txEnd(boolean commit) {
-        // No-op.
-    }
-
-    /**
-     * Checks the flag and throws exception if it is set. Checks operation 
delay and sleeps
-     * for specified amount of time, if needed.
-     */
-    private void checkOperation() {
-        if (shouldFail)
-            throw new IgniteException("Store exception");
-
-        if (operationDelay > 0) {
-            try {
-                U.sleep(operationDelay);
-            }
-            catch(IgniteInterruptedException e) {
-                throw new IgniteException(e);
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/968c3cf8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGetAndTransformStoreAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGetAndTransformStoreAbstractTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGetAndTransformStoreAbstractTest.java
deleted file mode 100644
index 9712b49..0000000
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGetAndTransformStoreAbstractTest.java
+++ /dev/null
@@ -1,176 +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.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.apache.ignite.testframework.junits.common.*;
-
-import javax.cache.configuration.*;
-import javax.cache.processor.*;
-import java.io.*;
-import java.util.concurrent.*;
-import java.util.concurrent.atomic.*;
-
-import static org.apache.ignite.cache.GridCacheAtomicityMode.*;
-import static org.apache.ignite.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.cache.GridCacheWriteSynchronizationMode.*;
-
-/**
- * Basic get and transform store test.
- */
-public abstract class GridCacheGetAndTransformStoreAbstractTest extends 
GridCommonAbstractTest {
-    /** IP finder. */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
-
-    /** Cache store. */
-    private static final GridCacheTestStore store = new GridCacheTestStore();
-
-    /**
-     *
-     */
-    protected GridCacheGetAndTransformStoreAbstractTest() {
-        super(true /*start grid. */);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        store.resetTimestamp();
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTest() throws Exception {
-        cache().clearAll();
-
-        store.reset();
-    }
-
-    /** @return Caching mode. */
-    protected abstract GridCacheMode cacheMode();
-
-    /** {@inheritDoc} */
-    @SuppressWarnings("unchecked")
-    @Override protected final IgniteConfiguration getConfiguration(String 
gridName) throws Exception {
-        IgniteConfiguration c = super.getConfiguration(gridName);
-
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
-
-        disco.setIpFinder(IP_FINDER);
-
-        c.setDiscoverySpi(disco);
-
-        CacheConfiguration cc = defaultCacheConfiguration();
-
-        cc.setCacheMode(cacheMode());
-        cc.setWriteSynchronizationMode(FULL_SYNC);
-        cc.setSwapEnabled(false);
-        cc.setAtomicityMode(atomicityMode());
-        cc.setDistributionMode(distributionMode());
-        cc.setPreloadMode(SYNC);
-
-        cc.setCacheStoreFactory(new FactoryBuilder.SingletonFactory(store));
-        cc.setReadThrough(true);
-        cc.setWriteThrough(true);
-        cc.setLoadPreviousValue(true);
-
-        c.setCacheConfiguration(cc);
-
-        return c;
-    }
-
-    /**
-     * @return Distribution mode.
-     */
-    protected GridCacheDistributionMode distributionMode() {
-        return NEAR_PARTITIONED;
-    }
-
-    /**
-     * @return Cache atomicity mode.
-     */
-    protected GridCacheAtomicityMode atomicityMode() {
-        return TRANSACTIONAL;
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testGetAndTransform() throws Exception {
-        final AtomicBoolean finish = new AtomicBoolean();
-
-        try {
-            startGrid(0);
-            startGrid(1);
-            startGrid(2);
-
-            final Processor entryProcessor = new Processor();
-
-            IgniteFuture<?> fut = multithreadedAsync(
-                new Callable<Object>() {
-                    @Override public Object call() throws Exception {
-                        IgniteCache<Integer, String> c = 
jcache(ThreadLocalRandom.current().nextInt(3));
-
-                        while (!finish.get() && 
!Thread.currentThread().isInterrupted()) {
-                            c.get(ThreadLocalRandom.current().nextInt(100));
-
-                            c.put(ThreadLocalRandom.current().nextInt(100), 
"s");
-
-                            c.invoke(
-                                ThreadLocalRandom.current().nextInt(100),
-                                entryProcessor);
-                        }
-
-                        return null;
-                    }
-                },
-                20);
-
-            Thread.sleep(15_000);
-
-            finish.set(true);
-
-            fut.get();
-        }
-        finally {
-            stopGrid(0);
-            stopGrid(1);
-            stopGrid(2);
-
-            while (!cache().isEmpty())
-                cache().globalClearAll(Long.MAX_VALUE);
-        }
-    }
-
-    /**
-     *
-     */
-    private static class Processor implements EntryProcessor<Integer, String, 
Void>, Serializable {
-        /** {@inheritDoc} */
-        @Override public Void process(MutableEntry<Integer, String> e, 
Object... args) {
-            e.setValue("str");
-
-            return null;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/968c3cf8/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGlobalClearAllSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGlobalClearAllSelfTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGlobalClearAllSelfTest.java
deleted file mode 100644
index a8068aa..0000000
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGlobalClearAllSelfTest.java
+++ /dev/null
@@ -1,167 +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.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.cache.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.apache.ignite.testframework.junits.common.*;
-
-import static org.apache.ignite.cache.GridCacheAtomicityMode.*;
-import static org.apache.ignite.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.cache.GridCacheMode.*;
-
-/**
- * Test {@link org.apache.ignite.cache.GridCache#globalClearAll()} operation 
in multinode environment with nodes
- * having caches with different names.
- */
-public class GridCacheGlobalClearAllSelfTest extends GridCommonAbstractTest {
-    /** Grid nodes count. */
-    private static final int GRID_CNT = 3;
-
-    /** Amount of keys stored in the default cache. */
-    private static final int KEY_CNT = 20;
-
-    /** Amount of keys stored in cache other than default. */
-    private static final int KEY_CNT_OTHER = 10;
-
-    /** Default cache name. */
-    private static final String CACHE_NAME = "cache_name";
-
-    /** Cache name which differs from the default one. */
-    private static final String CACHE_NAME_OTHER = "cache_name_other";
-
-    /** VM IP finder for TCP discovery SPI. */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
-
-    /** Cache name which will be passed to grid configuration. */
-    private GridCacheMode cacheMode = PARTITIONED;
-
-    /** Cache mode which will be passed to grid configuration. */
-    private String cacheName = CACHE_NAME;
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
-        IgniteConfiguration cfg = super.getConfiguration(gridName);
-
-        CacheConfiguration ccfg = defaultCacheConfiguration();
-
-        ccfg.setName(cacheName);
-        ccfg.setCacheMode(cacheMode);
-        ccfg.setAtomicityMode(TRANSACTIONAL);
-        ccfg.setDistributionMode(NEAR_PARTITIONED);
-
-        if (cacheMode == PARTITIONED)
-            ccfg.setBackups(1);
-
-        cfg.setCacheConfiguration(ccfg);
-
-        TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
-
-        discoSpi.setIpFinder(IP_FINDER);
-
-        cfg.setDiscoverySpi(discoSpi);
-
-        return cfg;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTest() throws Exception {
-        stopAllGrids();
-    }
-
-    /**
-     * Start GRID_CNT nodes. All nodes except the last one will have one cache 
with particular name, while the last
-     * one will have one cache of the same type, but with different name.
-     *
-     * @throws Exception In case of exception.
-     */
-    private void startNodes() throws Exception {
-        cacheName = CACHE_NAME;
-
-        for (int i = 0; i < GRID_CNT - 1; i++)
-            startGrid(i);
-
-        cacheName = CACHE_NAME_OTHER;
-
-        startGrid(GRID_CNT - 1);
-    }
-
-    /**
-     * Test for partitioned cache.
-     *
-     * @throws Exception In case of exception.
-     */
-    public void testGlobalClearAllPartitioned() throws Exception {
-        cacheMode = PARTITIONED;
-
-        startNodes();
-
-        performTest();
-    }
-
-    /**
-     * Test for replicated cache.
-     *
-     * @throws Exception In case of exception.
-     */
-    public void testGlobalClearAllReplicated() throws Exception {
-        cacheMode = REPLICATED;
-
-        startNodes();
-
-        performTest();
-    }
-
-    /**
-     * Ensure that globalClearAll() clears correct cache and is only executed 
on nodes with the cache excluding
-     * master-node where it is executed locally.
-     *
-     * @throws Exception If failed.
-     */
-    public void performTest() throws Exception {
-        // Put values into normal replicated cache.
-        for (int i = 0; i < KEY_CNT; i++)
-            grid(0).cache(CACHE_NAME).put(i, "val" + i);
-
-        // Put values into a cache with another name.
-        for (int i = 0; i < KEY_CNT_OTHER; i++)
-            grid(GRID_CNT - 1).cache(CACHE_NAME_OTHER).put(i, "val" + i);
-
-        // Check cache sizes.
-        for (int i = 0; i < GRID_CNT - 1; i++) {
-            GridCache<Object, Object> cache = grid(i).cache(CACHE_NAME);
-
-            assertEquals("Key set [i=" + i + ", keys=" + cache.keySet() + ']', 
KEY_CNT, cache.size());
-        }
-
-        assert grid(GRID_CNT - 1).cache(CACHE_NAME_OTHER).size() == 
KEY_CNT_OTHER;
-
-        // Perform clear.
-        grid(0).cache(CACHE_NAME).globalClearAll();
-
-        // Expect caches with the given name to be clear on all nodes.
-        for (int i = 0; i < GRID_CNT - 1; i++)
-            assert grid(i).cache(CACHE_NAME).isEmpty();
-
-        // ... but cache with another name should remain untouched.
-        assert grid(GRID_CNT - 1).cache(CACHE_NAME_OTHER).size() == 
KEY_CNT_OTHER;
-    }
-}

Reply via email to