You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/01/16 16:43:09 UTC

[06/12] incubator-ignite git commit: #IGNITE-99: Refactoring. Move GridCache.affinity() to Ignite.affinity(String cacheName).

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/25609651/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAffinityApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAffinityApiSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAffinityApiSelfTest.java
deleted file mode 100644
index 989e847..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAffinityApiSelfTest.java
+++ /dev/null
@@ -1,361 +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.cluster.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.cache.affinity.*;
-import org.gridgain.grid.kernal.*;
-import org.gridgain.grid.kernal.processors.affinity.*;
-import org.gridgain.grid.util.typedef.*;
-
-import java.util.*;
-
-import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
-
-/**
- * Affinity API tests.
- */
-public class GridCacheAffinityApiSelfTest extends GridCacheAbstractSelfTest {
-    /** */
-    private static final int GRID_CNT = 4;
-
-    /** */
-    private static final Random RND = new Random();
-
-    /** {@inheritDoc} */
-    @Override protected GridCacheConfiguration cacheConfiguration(String gridName) throws Exception {
-        GridCacheConfiguration cfg = super.cacheConfiguration(gridName);
-
-        cfg.setCacheMode(PARTITIONED);
-        cfg.setWriteSynchronizationMode(FULL_SYNC);
-
-        cfg.setBackups(1);
-
-        return cfg;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected int gridCount() {
-        return GRID_CNT;
-    }
-
-    /**
-     * @return Affinity.
-     */
-    private GridCacheAffinityFunction affinity() {
-        return ((GridKernal)grid(0)).internalCache().configuration().getAffinity();
-    }
-
-    /**
-     * @return Affinity mapper.
-     */
-    private GridCacheAffinityKeyMapper affinityMapper() {
-        return ((GridKernal)grid(0)).internalCache().configuration().getAffinityMapper();
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testPartitions() throws Exception {
-        assertEquals(affinity().partitions(), cache().affinity().partitions());
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testPartition() throws Exception {
-        String key = "key";
-
-        assertEquals(affinity().partition(key), cache().affinity().partition(key));
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testPrimaryPartitionsOneNode() throws Exception {
-        GridCacheAffinityFunctionContext ctx =
-            new GridCacheAffinityFunctionContextImpl(new ArrayList<>(grid(0).nodes()), null, null, 1, 1);
-
-        List<List<ClusterNode>> assignment = affinity().assignPartitions(ctx);
-
-        for (ClusterNode node : grid(0).nodes()) {
-            int[] parts = cache().affinity().primaryPartitions(node);
-
-            assert !F.isEmpty(parts);
-
-            for (int p : parts) {
-                Collection<ClusterNode> owners = nodes(assignment, p);
-
-                assert !F.isEmpty(owners);
-
-                ClusterNode primary = F.first(owners);
-
-                assert F.eqNodes(node, primary);
-            }
-        }
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testPrimaryPartitions() throws Exception {
-        // Pick 2 nodes and create a projection over them.
-        ClusterNode n0 = grid(0).localNode();
-
-        int[] parts = cache().affinity().primaryPartitions(n0);
-
-        info("Primary partitions count: " + parts.length);
-
-        assert parts.length > 1 : "Invalid partitions: " + Arrays.toString(parts);
-
-        for (int part : parts)
-            assert part >= 0;
-
-        assert !F.isEmpty(parts);
-
-        GridCacheAffinityFunctionContext ctx =
-            new GridCacheAffinityFunctionContextImpl(new ArrayList<>(grid(0).nodes()), null, null, 1, 1);
-
-        List<List<ClusterNode>> assignment = affinity().assignPartitions(ctx);
-
-        for (int p : parts) {
-            Collection<ClusterNode> owners = nodes(assignment, p);
-
-            assert !F.isEmpty(owners);
-
-            ClusterNode primary = F.first(owners);
-
-            assert F.eqNodes(n0, primary);
-        }
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testBackupPartitions() throws Exception {
-        // Pick 2 nodes and create a projection over them.
-        ClusterNode n0 = grid(0).localNode();
-
-        // Get backup partitions without explicitly specified levels.
-        int[] parts = cache().affinity().backupPartitions(n0);
-
-        assert !F.isEmpty(parts);
-
-        GridCacheAffinityFunctionContext ctx =
-            new GridCacheAffinityFunctionContextImpl(new ArrayList<>(grid(0).nodes()), null, null, 1, 1);
-
-        List<List<ClusterNode>> assignment = affinity().assignPartitions(ctx);
-
-        for (int p : parts) {
-            Collection<ClusterNode> owners = new ArrayList<>(nodes(assignment, p));
-
-            assert !F.isEmpty(owners);
-
-            // Remove primary.
-            Iterator<ClusterNode> iter = owners.iterator();
-
-            iter.next();
-            iter.remove();
-
-            assert owners.contains(n0);
-        }
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testAllPartitions() throws Exception {
-        // Pick 2 nodes and create a projection over them.
-        ClusterNode n0 = grid(0).localNode();
-
-        int[] parts = cache().affinity().allPartitions(n0);
-
-        assert !F.isEmpty(parts);
-
-        GridCacheAffinityFunctionContext ctx =
-            new GridCacheAffinityFunctionContextImpl(new ArrayList<>(grid(0).nodes()), null, null, 1, 1);
-
-        List<List<ClusterNode>> assignment = affinity().assignPartitions(ctx);
-
-        for (int p : parts) {
-            Collection<ClusterNode> owners = nodes(assignment, p);
-
-            assert !F.isEmpty(owners);
-
-            assert owners.contains(n0);
-        }
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testMapPartitionToNode() throws Exception {
-        int part = RND.nextInt(affinity().partitions());
-
-        GridCacheAffinityFunctionContext ctx =
-            new GridCacheAffinityFunctionContextImpl(new ArrayList<>(grid(0).nodes()), null, null, 1, 1);
-
-        GridCacheAffinityFunction aff = affinity();
-
-        List<List<ClusterNode>> assignment = aff.assignPartitions(ctx);
-
-        assertEquals(F.first(nodes(assignment, aff, part)), cache().affinity().mapPartitionToNode(part));
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testMapPartitionsToNode() throws Exception {
-        Map<Integer, ClusterNode> map = cache().affinity().mapPartitionsToNodes(F.asList(0, 1, 5, 19, 12));
-
-        GridCacheAffinityFunctionContext ctx =
-            new GridCacheAffinityFunctionContextImpl(new ArrayList<>(grid(0).nodes()), null, null, 1, 1);
-
-        GridCacheAffinityFunction aff = affinity();
-
-        List<List<ClusterNode>> assignment = aff.assignPartitions(ctx);
-
-        for (Map.Entry<Integer, ClusterNode> e : map.entrySet())
-            assert F.eqNodes(F.first(nodes(assignment, aff, e.getKey())), e.getValue());
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testMapPartitionsToNodeArray() throws Exception {
-        Map<Integer, ClusterNode> map = cache().affinity().mapPartitionsToNodes(F.asList(0, 1, 5, 19, 12));
-
-        GridCacheAffinityFunctionContext ctx =
-            new GridCacheAffinityFunctionContextImpl(new ArrayList<>(grid(0).nodes()), null, null, 1, 1);
-
-        GridCacheAffinityFunction aff = affinity();
-
-        List<List<ClusterNode>> assignment = aff.assignPartitions(ctx);
-
-        for (Map.Entry<Integer, ClusterNode> e : map.entrySet())
-            assert F.eqNodes(F.first(nodes(assignment, aff, e.getKey())), e.getValue());
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testMapPartitionsToNodeCollection() throws Exception {
-        Collection<Integer> parts = new LinkedList<>();
-
-        for (int p = 0; p < affinity().partitions(); p++)
-            parts.add(p);
-
-        Map<Integer, ClusterNode> map = cache().affinity().mapPartitionsToNodes(parts);
-
-        GridCacheAffinityFunctionContext ctx =
-            new GridCacheAffinityFunctionContextImpl(new ArrayList<>(grid(0).nodes()), null, null, 1, 1);
-
-        GridCacheAffinityFunction aff = affinity();
-
-        List<List<ClusterNode>> assignment = aff.assignPartitions(ctx);
-
-        for (Map.Entry<Integer, ClusterNode> e : map.entrySet())
-            assert F.eqNodes(F.first(nodes(assignment, aff, e.getKey())), e.getValue());
-    }
-
-    /**
-     * Gets affinity nodes for partition.
-     *
-     * @param assignments Assignments.
-     * @param part Partition to get affinity nodes for.
-     * @return Affinity nodes.
-     */
-    private List<ClusterNode> nodes(List<List<ClusterNode>> assignments, int part) {
-        return assignments.get(part);
-    }
-
-    /**
-     * Gets affinity nodes for partition.
-     *
-     * @param key Affinity key.
-     * @return Affinity nodes.
-     */
-    private Iterable<ClusterNode> nodes(List<List<ClusterNode>> assignment, GridCacheAffinityFunction aff, Object key) {
-        return assignment.get(aff.partition(key));
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testEntryPartition() throws Exception {
-        int keyCnt = 100;
-
-        for (int kv = 0; kv < keyCnt; kv++)
-            cache().put(String.valueOf(kv), kv);
-
-        for (int kv = 0; kv < keyCnt; kv++) {
-            String key = String.valueOf(kv);
-
-            GridCacheEntry<String, Integer> entry = cache().entry(key);
-
-            assert entry != null;
-
-            assertEquals(affinity().partition(key), entry.partition());
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPartitionWithAffinityMapper() throws Exception {
-        GridCacheAffinityKey<Integer> key = new GridCacheAffinityKey<>(1, 2);
-
-        int expPart = affinity().partition(affinityMapper().affinityKey(key));
-
-        for (int i = 0; i < gridCount(); i++) {
-            assertEquals(expPart, grid(i).cache(null).affinity().partition(key));
-            assertEquals(expPart, grid(i).cache(null).entry(key).partition());
-        }
-
-        assertTrue(grid(0).cache(null).putx(key, 1));
-
-        for (int i = 0; i < gridCount(); i++) {
-            assertEquals(expPart, grid(i).cache(null).affinity().partition(key));
-            assertEquals(expPart, grid(i).cache(null).entry(key).partition());
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/25609651/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAffinityMapperSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAffinityMapperSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAffinityMapperSelfTest.java
deleted file mode 100644
index 9433a19..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAffinityMapperSelfTest.java
+++ /dev/null
@@ -1,132 +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.gridgain.grid.cache.affinity.*;
-import org.gridgain.testframework.junits.common.*;
-
-import java.util.*;
-
-/**
- * Test affinity mapper.
- */
-public class GridCacheAffinityMapperSelfTest extends GridCommonAbstractTest {
-    /**
-     *
-     */
-    public void testMethodAffinityMapper() {
-        GridCacheAffinityKeyMapper mapper =
-            new GridCacheDefaultAffinityKeyMapper();
-
-        List<GridCacheAffinityKey<Integer>> keys = new ArrayList<>();
-
-        for (int i = 1; i <= 10; i++)
-            keys.add(new GridCacheAffinityKey<>(i, Integer.toString(i)));
-
-        for (int i = 1; i <= 10; i++) {
-            GridCacheAffinityKey<Integer> key = keys.get(i - 1);
-
-            Object mapped = mapper.affinityKey(key);
-
-            info("Mapped key: " + mapped);
-
-            assertNotNull(mapped);
-            assertSame(key.affinityKey(), mapped);
-        }
-    }
-
-    /**
-     *
-     */
-    public void testFieldAffinityMapper() {
-        GridCacheAffinityKeyMapper mapper =
-            new GridCacheDefaultAffinityKeyMapper();
-
-        List<FieldAffinityKey<Integer>> keys = new ArrayList<>();
-
-        for (int i = 1; i <= 10; i++)
-            keys.add(new FieldAffinityKey<>(i, Integer.toString(i)));
-
-        for (int i = 1; i <= 10; i++) {
-            FieldAffinityKey<Integer> key = keys.get(i - 1);
-
-            Object mapped = mapper.affinityKey(key);
-
-            info("Mapped key: " + mapped);
-
-            assertNotNull(mapped);
-            assertSame(key.affinityKey(), mapped);
-        }
-    }
-
-    /**
-     *
-     */
-    public void testFieldAffinityMapperWithWrongClass() {
-        GridCacheAffinityKeyMapper mapper =
-            new GridCacheDefaultAffinityKeyMapper();
-
-        FieldNoAffinityKey key = new FieldNoAffinityKey();
-        Object mapped = mapper.affinityKey(key);
-        assertEquals(key, mapped);
-    }
-
-    /**
-     * Test key for field annotation.
-     */
-    private static class FieldNoAffinityKey {
-        // No-op.
-    }
-
-    /**
-     * Test key for field annotation.
-     */
-    private static class FieldAffinityKey<K> {
-        /** Key. */
-        private K key;
-
-        /** Affinity key. */
-        @GridCacheAffinityKeyMapped
-        private Object affKey;
-
-        /**
-         * Initializes key together with its affinity key counter-part.
-         *
-         * @param key Key.
-         * @param affKey Affinity key.
-         */
-        FieldAffinityKey(K key, Object affKey) {
-            this.key = key;
-            this.affKey = affKey;
-        }
-
-        /**
-         * @return Key.
-         */
-        public K key() {
-            return key;
-        }
-
-        /**
-         * @return Affinity key.
-         */
-        public Object affinityKey() {
-            return affKey;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/25609651/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAffinityRoutingSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAffinityRoutingSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAffinityRoutingSelfTest.java
deleted file mode 100644
index fdd7679..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAffinityRoutingSelfTest.java
+++ /dev/null
@@ -1,690 +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.cluster.*;
-import org.apache.ignite.compute.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.marshaller.optimized.*;
-import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.cache.affinity.*;
-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.gridgain.grid.util.typedef.*;
-import org.gridgain.grid.util.typedef.internal.*;
-import org.gridgain.grid.util.tostring.*;
-import org.gridgain.testframework.junits.common.*;
-
-import java.util.*;
-
-import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
-
-/**
- * Affinity routing tests.
- */
-public class GridCacheAffinityRoutingSelfTest extends GridCommonAbstractTest {
-    /** */
-    private static final int GRID_CNT = 4;
-
-    /** */
-    private static final String NON_DFLT_CACHE_NAME = "myCache";
-
-    /** */
-    private static final int KEY_CNT = 50;
-
-    /** */
-    private static TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
-
-    /**
-     * Constructs test.
-     */
-    public GridCacheAffinityRoutingSelfTest() {
-        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);
-
-        if (!gridName.equals(getTestGridName(GRID_CNT))) {
-            // Default cache configuration.
-            GridCacheConfiguration dfltCacheCfg = defaultCacheConfiguration();
-
-            dfltCacheCfg.setCacheMode(PARTITIONED);
-            dfltCacheCfg.setBackups(1);
-            dfltCacheCfg.setWriteSynchronizationMode(FULL_SYNC);
-
-            // Non-default cache configuration.
-            GridCacheConfiguration namedCacheCfg = defaultCacheConfiguration();
-
-            namedCacheCfg.setCacheMode(PARTITIONED);
-            namedCacheCfg.setBackups(1);
-            namedCacheCfg.setWriteSynchronizationMode(FULL_SYNC);
-            namedCacheCfg.setName(NON_DFLT_CACHE_NAME);
-
-            cfg.setCacheConfiguration(dfltCacheCfg, namedCacheCfg);
-        }
-        else {
-            // No cache should be configured for extra node.
-            cfg.setCacheConfiguration();
-        }
-
-        cfg.setMarshaller(new IgniteOptimizedMarshaller(false));
-
-        return cfg;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTestsStarted() throws Exception {
-        super.beforeTestsStarted();
-
-        for (int i = 0; i < GRID_CNT; i++)
-            startGrid(i);
-
-        assert G.allGrids().size() == GRID_CNT;
-
-        for (int i = 0; i < KEY_CNT; i++) {
-            grid(0).cache(null).put(i, i);
-
-            grid(0).cache(NON_DFLT_CACHE_NAME).put(i, i);
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTestsStopped() throws Exception {
-        super.afterTestsStopped();
-
-        for (int i = 0; i < GRID_CNT; i++)
-            stopGrid(i);
-
-        assert G.allGrids().isEmpty();
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testAffinityRun() throws Exception {
-        for (int i = 0; i < KEY_CNT; i++)
-            grid(0).compute().affinityRun(NON_DFLT_CACHE_NAME, i, new CheckRunnable(i, i));
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testAffinityRunComplexKey() throws Exception {
-        for (int i = 0; i < KEY_CNT; i++) {
-            AffinityTestKey key = new AffinityTestKey(i);
-
-            grid(0).compute().affinityRun(NON_DFLT_CACHE_NAME, i, new CheckRunnable(i, key));
-            grid(0).compute().affinityRun(NON_DFLT_CACHE_NAME, key, new CheckRunnable(i, key));
-        }
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testAffinityCall() throws Exception {
-        for (int i = 0; i < KEY_CNT; i++)
-            grid(0).compute().affinityCall(NON_DFLT_CACHE_NAME, i, new CheckCallable(i, i));
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testAffinityCallComplexKey() throws Exception {
-        for (int i = 0; i < KEY_CNT; i++) {
-            final AffinityTestKey key = new AffinityTestKey(i);
-
-            grid(0).compute().affinityCall(NON_DFLT_CACHE_NAME, i, new CheckCallable(i, key));
-            grid(0).compute().affinityCall(NON_DFLT_CACHE_NAME, key, new CheckCallable(i, key));
-        }
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testField() throws Exception {
-        // Jobs should be routed correctly in case of using load balancer.
-        for (int i = 0; i < KEY_CNT; i++)
-            assert grid(0).compute().call(new FieldAffinityJob(i)) :
-                "Job was routed to a wrong node [i=" + i + "]";
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testMethod() throws Exception {
-        // Jobs should be routed correctly in case of using load balancer.
-        for (int i = 0; i < KEY_CNT; i++)
-            assert grid(0).compute().call(new MethodAffinityJob(i)) :
-                "Job was routed to a wrong node [i=" + i + "]";
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testFiledCacheName() throws Exception {
-        // Jobs should be routed correctly in case of using load balancer.
-        for (int i = 0; i < KEY_CNT; i++)
-            assert grid(0).compute().call(new FieldCacheNameAffinityJob(i)) :
-                "Job was routed to a wrong node [i=" + i + "]";
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testMethodCacheName() throws Exception {
-        // Jobs should be routed correctly in case of using load balancer.
-        for (int i = 0; i < KEY_CNT; i++)
-            assert grid(0).compute().call(new MethodCacheNameAffinityJob(i)) :
-                "Job was routed to a wrong node [i=" + i + "]";
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testMultipleAnnotationsJob() throws Exception {
-        try {
-            grid(0).compute().call(new MultipleAnnotationsJob(0));
-
-            fail();
-        }
-        catch (IgniteCheckedException e) {
-            info("Caught expected exception: " + e);
-        }
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testTask() throws Exception {
-        // Jobs should be routed correctly.
-        for (int i = 0; i < KEY_CNT; i++)
-            assert grid(0).compute().execute(new OneJobTask(i), i) :
-                "Job was routed to a wrong node [i=" + i + "]";
-
-        info("Starting extra node without configured caches...");
-
-        assertEquals(GRID_CNT, G.allGrids().size());
-
-        Ignite g = startGrid(GRID_CNT);
-
-        try {
-            assertEquals(GRID_CNT + 1, g.cluster().nodes().size());
-
-            for (int i = 0; i < KEY_CNT; i++)
-                assert grid(GRID_CNT).compute().execute(new OneJobTask(i), i) :
-                    "Job was routed to a wrong node [i=" + i + "]";
-        }
-        finally {
-            stopGrid(GRID_CNT);
-        }
-    }
-
-    /**
-     * Test job with field annotation.
-     */
-    private static class FieldAffinityJob implements IgniteCallable<Boolean> {
-        /** Affinity key. */
-        @GridCacheAffinityKeyMapped
-        @GridToStringInclude
-        private Object affKey;
-
-        /** */
-        @IgniteInstanceResource
-        private Ignite ignite;
-
-        /** */
-        @IgniteLoggerResource
-        private IgniteLogger log;
-
-        /** */
-        @IgniteJobContextResource
-        private ComputeJobContext jobCtx;
-
-        /**
-         * @param affKey Affinity key.
-         */
-        FieldAffinityJob(Object affKey) {
-            this.affKey = affKey;
-        }
-
-        /** {@inheritDoc} */
-        @Override public Boolean call() {
-            assert ignite != null;
-
-            assert jobCtx.affinityKey().equals(affKey);
-            assert jobCtx.cacheName() == null;
-
-            if (log.isDebugEnabled())
-                log.debug("Running job [node=" + ignite.cluster().localNode().id() + ", job=" + this + "]");
-
-            GridCacheAffinity<Object> aff = ignite.cache(null).affinity();
-
-            return F.eqNodes(ignite.cluster().localNode(), aff.mapKeyToNode(affKey));
-        }
-
-        /** {@inheritDoc} */
-        @Override public String toString() {
-            return S.toString(FieldAffinityJob.class, this);
-        }
-    }
-
-    /**
-     * Test job with method annotation.
-     */
-    private static class MethodAffinityJob implements IgniteCallable<Boolean> {
-        /** Affinity key. */
-        @GridToStringInclude
-        private Object affKey;
-
-        /** */
-        @IgniteInstanceResource
-        private Ignite ignite;
-
-        /** */
-        @IgniteLoggerResource
-        private IgniteLogger log;
-
-        /** */
-        @IgniteJobContextResource
-        private ComputeJobContext jobCtx;
-
-        /**
-         * @param affKey Affinity key.
-         */
-        MethodAffinityJob(Object affKey) {
-            this.affKey = affKey;
-        }
-
-        /**
-         * @return Affinity key.
-         */
-        @GridCacheAffinityKeyMapped
-        public Object affinityKey() {
-            return affKey;
-        }
-
-        /** {@inheritDoc} */
-        @Override public Boolean call() {
-            assert ignite != null;
-
-            assert jobCtx.affinityKey().equals(affinityKey());
-            assert jobCtx.cacheName() == null;
-
-            if (log.isDebugEnabled())
-                log.debug("Running job [node=" + ignite.cluster().localNode().id() + ", job=" + this + "]");
-
-            GridCacheAffinity<Object> aff = ignite.cache(null).affinity();
-
-            return F.eqNodes(ignite.cluster().localNode(), aff.mapKeyToNode(affKey));
-        }
-
-        /** {@inheritDoc} */
-        @Override public String toString() {
-            return S.toString(MethodAffinityJob.class, this);
-        }
-    }
-
-    /**
-     * Test job with field cache name annotation.
-     */
-    private static class FieldCacheNameAffinityJob implements IgniteCallable<Boolean> {
-        /** Affinity key. */
-        @GridToStringInclude
-        private Object affKey;
-
-        /** Cache name to use affinity from. */
-        @GridCacheName
-        private String cacheName = NON_DFLT_CACHE_NAME;
-
-        /** */
-        @IgniteInstanceResource
-        private Ignite ignite;
-
-        /** */
-        @IgniteLoggerResource
-        private IgniteLogger log;
-
-        /** */
-        @IgniteJobContextResource
-        private ComputeJobContext jobCtx;
-
-        /**
-         * @param affKey Affinity key.
-         */
-        FieldCacheNameAffinityJob(Object affKey) {
-            this.affKey = affKey;
-        }
-
-        /**
-         * @return Affinity key.
-         */
-        @GridCacheAffinityKeyMapped
-        public Object affinityKey() {
-            return affKey;
-        }
-
-        /** {@inheritDoc} */
-        @Override public Boolean call() {
-            assert ignite != null;
-
-            assert jobCtx.affinityKey().equals(affKey);
-            assert jobCtx.cacheName().equals(cacheName);
-
-            if (log.isDebugEnabled())
-                log.debug("Running job [node=" + ignite.cluster().localNode().id() + ", job=" + this + "]");
-
-            GridCacheAffinity<Object> aff = ignite.cache(cacheName).affinity();
-
-            return F.eqNodes(ignite.cluster().localNode(), aff.mapKeyToNode(affKey));
-        }
-
-        /** {@inheritDoc} */
-        @Override public String toString() {
-            return S.toString(FieldCacheNameAffinityJob.class, this);
-        }
-    }
-
-    /**
-     * Test job with method cache name annotation.
-     */
-    private static class MethodCacheNameAffinityJob implements IgniteCallable<Boolean> {
-        /** Affinity key. */
-        @GridToStringInclude
-        private Object affKey;
-
-        /** */
-        @IgniteInstanceResource
-        private Ignite ignite;
-
-        /** */
-        @IgniteLoggerResource
-        private IgniteLogger log;
-
-        /** */
-        @IgniteJobContextResource
-        private ComputeJobContext jobCtx;
-
-        /**
-         * @param affKey Affinity key.
-         */
-        MethodCacheNameAffinityJob(Object affKey) {
-            this.affKey = affKey;
-        }
-
-        /**
-         * @return Affinity key.
-         */
-        @GridCacheAffinityKeyMapped
-        public Object affinityKey() {
-            return affKey;
-        }
-
-        /**
-         * @return Cache name for affinity routing.
-         */
-        @GridCacheName
-        public String cacheName() {
-            return NON_DFLT_CACHE_NAME;
-        }
-
-        /** {@inheritDoc} */
-        @Override public Boolean call() {
-            assert ignite != null;
-
-            assert jobCtx.affinityKey().equals(affKey);
-            assert jobCtx.cacheName().equals(cacheName());
-
-            if (log.isDebugEnabled())
-                log.debug("Running job [node=" + ignite.cluster().localNode().id() + ", job=" + this + "]");
-
-            GridCacheAffinity<Object> aff = ignite.cache(cacheName()).affinity();
-
-            return F.eqNodes(ignite.cluster().localNode(), aff.mapKeyToNode(affKey));
-        }
-
-        /** {@inheritDoc} */
-        @Override public String toString() {
-            return S.toString(MethodCacheNameAffinityJob.class, this);
-        }
-    }
-
-    /**
-     * Test job with method cache name annotation.
-     */
-    private static class MultipleAnnotationsJob implements IgniteCallable<Boolean> {
-        /** Affinity key. */
-        @GridToStringInclude
-        @GridCacheAffinityKeyMapped
-        private Object affKey;
-
-        /** Duplicated affinity key. */
-        @SuppressWarnings({"UnusedDeclaration"})
-        @GridCacheAffinityKeyMapped
-        private Object affKeyDup;
-
-        /** */
-        @IgniteInstanceResource
-        private Ignite ignite;
-
-        /** */
-        @IgniteLoggerResource
-        private IgniteLogger log;
-
-        /**
-         * @param affKey Affinity key.
-         */
-        MultipleAnnotationsJob(Object affKey) {
-            this.affKey = affKey;
-            affKeyDup = affKey;
-        }
-
-        /** {@inheritDoc} */
-        @Override public Boolean call() {
-            assert ignite != null;
-
-            if (log.isDebugEnabled())
-                log.debug("Running job [node=" + ignite.cluster().localNode().id() + ", job=" + this + "]");
-
-            GridCacheAffinity<Object> aff = ignite.cache(null).affinity();
-
-            return F.eqNodes(ignite.cluster().localNode(), aff.mapKeyToNode(affKey));
-        }
-
-        /** {@inheritDoc} */
-        @Override public String toString() {
-            return S.toString(MultipleAnnotationsJob.class, this);
-        }
-    }
-
-    /**
-     * Test task that produces a single job.
-     */
-    private static class OneJobTask extends ComputeTaskSplitAdapter<Integer, Boolean> {
-        /** Affinity key. */
-        @GridToStringInclude
-        @GridCacheAffinityKeyMapped
-        private Object affKey;
-
-        /** */
-        @IgniteLoggerResource
-        private IgniteLogger log;
-
-        /** */
-        @IgniteInstanceResource
-        private Ignite ignite;
-
-        /**
-         * @param affKey Affinity key.
-         */
-        private OneJobTask(Integer affKey) {
-            this.affKey = affKey;
-        }
-
-        /** {@inheritDoc} */
-        @Override protected Collection<? extends ComputeJob> split(int gridSize, Integer arg) throws IgniteCheckedException {
-            return F.asList(new ComputeJobAdapter() {
-                @Override public Object execute() {
-                    GridCacheAffinity<Object> aff = ignite.cache(null).affinity();
-
-                    ClusterNode primary = aff.mapKeyToNode(affKey);
-
-                    if (log.isInfoEnabled())
-                        log.info("Primary node for the job key [affKey=" + affKey + ", primary=" + primary.id() + "]");
-
-                    return F.eqNodes(ignite.cluster().localNode(), primary);
-                }
-            });
-        }
-
-        /** {@inheritDoc} */
-        @Override public Boolean reduce(List<ComputeJobResult> results) throws IgniteCheckedException {
-            return results.get(0).getData();
-        }
-    }
-
-    /**
-     * Test key.
-     */
-    private static class AffinityTestKey {
-        /** Affinity key. */
-        @GridCacheAffinityKeyMapped
-        private final int affKey;
-
-        /**
-         * @param affKey Affinity key.
-         */
-        private AffinityTestKey(int affKey) {
-            this.affKey = affKey;
-        }
-
-        /**
-         * @return Affinity key.
-         */
-        public int affinityKey() {
-            return affKey;
-        }
-    }
-
-    /**
-     * Test runnable.
-     */
-    private static class CheckRunnable extends CAX {
-        /** Affinity key. */
-        private final Object affKey;
-
-        /** Key. */
-        private final Object key;
-
-        /** */
-        @IgniteInstanceResource
-        private Ignite ignite;
-
-        /** */
-        @IgniteJobContextResource
-        private ComputeJobContext jobCtx;
-
-        /**
-         * @param affKey Affinity key.
-         * @param key Key.
-         */
-        private CheckRunnable(Object affKey, Object key) {
-            this.affKey = affKey;
-            this.key = key;
-        }
-
-        /** {@inheritDoc} */
-        @Override public void applyx() throws IgniteCheckedException {
-            assert ignite.cluster().localNode().id().equals(ignite.cluster().mapKeyToNode(null, affKey).id());
-            assert ignite.cluster().localNode().id().equals(ignite.cluster().mapKeyToNode(null, key).id());
-            assert jobCtx.affinityKey().equals(affKey);
-            assert jobCtx.cacheName().equals(NON_DFLT_CACHE_NAME);
-        }
-    }
-
-    /**
-     * Test callable.
-     */
-    private static class CheckCallable implements IgniteCallable<Object> {
-        /** Affinity key. */
-        private final Object affKey;
-
-        /** Key. */
-        private final Object key;
-
-        /** */
-        @IgniteInstanceResource
-        private Ignite ignite;
-
-        /** */
-        @IgniteJobContextResource
-        private ComputeJobContext jobCtx;
-
-        /**
-         * @param affKey Affinity key.
-         * @param key Key.
-         */
-        private CheckCallable(Object affKey, Object key) {
-            this.affKey = affKey;
-            this.key = key;
-        }
-
-        /** {@inheritDoc} */
-        @Override public Object call() throws IgniteCheckedException {
-            assert ignite.cluster().localNode().id().equals(ignite.cluster().mapKeyToNode(null, affKey).id());
-            assert ignite.cluster().localNode().id().equals(ignite.cluster().mapKeyToNode(null, key).id());
-            assert jobCtx.affinityKey().equals(affKey);
-            assert jobCtx.cacheName().equals(NON_DFLT_CACHE_NAME);
-
-            return null;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/25609651/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAtomicMessageCountSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAtomicMessageCountSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAtomicMessageCountSelfTest.java
index e477600..e952684 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAtomicMessageCountSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAtomicMessageCountSelfTest.java
@@ -144,13 +144,13 @@ public class GridCacheAtomicMessageCountSelfTest extends GridCommonAbstractTest
                 ClusterNode locNode = grid(0).localNode();
 
                 if (writeOrderMode == CLOCK) {
-                    if (cache(0).affinity().isPrimary(locNode, i) || cache(0).affinity().isBackup(locNode, i))
+                    if (affinity(0).isPrimary(locNode, i) || affinity(0).isBackup(locNode, i))
                         expNearCnt++;
                     else
                         expNearCnt += 2;
                 }
                 else {
-                    if (cache(0).affinity().isPrimary(locNode, i))
+                    if (affinity(0).isPrimary(locNode, i))
                         expDhtCnt++;
                     else
                         expNearCnt ++;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/25609651/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
index 9f54ccf..febbdf3 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
@@ -25,7 +25,7 @@ import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
-import org.gridgain.grid.cache.affinity.*;
+import org.apache.ignite.cache.affinity.*;
 import org.gridgain.grid.cache.datastructures.*;
 import org.gridgain.grid.cache.eviction.lru.*;
 import org.gridgain.grid.cache.query.*;
@@ -419,7 +419,7 @@ public class GridCacheConcurrentTxMultiNodeTest extends GridCommonAbstractTest {
         /**
          * @return Terminal ID.
          */
-        @GridCacheAffinityKeyMapped
+        @CacheAffinityKeyMapped
         public String terminalId() {
             return message().getTerminalId();
         }
@@ -492,7 +492,7 @@ public class GridCacheConcurrentTxMultiNodeTest extends GridCommonAbstractTest {
             t.set1(System.currentTimeMillis());
             t.set2(0L);
             t.set4(xid);
-            t.set5(key == null ? null : new GridCacheAffinityKey<String>(key, termId) {});
+            t.set5(key == null ? null : new CacheAffinityKey<String>(key, termId) {});
         }
 
         /**
@@ -524,7 +524,7 @@ public class GridCacheConcurrentTxMultiNodeTest extends GridCommonAbstractTest {
             if (lastPrint.get() + PRINT_FREQ < now && lastPrint.setIfGreater(now)) {
                 Map<String, Long> maxes = new HashMap<>();
 
-                Set<GridCacheAffinityKey<String>> keys = null;
+                Set<CacheAffinityKey<String>> keys = null;
 
                 for (Map.Entry<Thread, ConcurrentMap<String, T5<Long, Long, Long, IgniteUuid, Object>>> e1 : timers.entrySet()) {
                     for (Map.Entry<String, T5<Long, Long, Long, IgniteUuid, Object>> e2 : e1.getValue().entrySet()) {
@@ -547,7 +547,7 @@ public class GridCacheConcurrentTxMultiNodeTest extends GridCommonAbstractTest {
                                 ", duration=" + duration + ", ongoing=" + (end == 0) +
                                 ", thread=" + e1.getKey().getName() + ", xid=" + xid + ']');
 
-                            GridCacheAffinityKey<String> key = (GridCacheAffinityKey<String>)t.get5();
+                            CacheAffinityKey<String> key = (CacheAffinityKey<String>)t.get5();
 
                             if (key != null) {
                                 if (keys == null)
@@ -569,12 +569,12 @@ public class GridCacheConcurrentTxMultiNodeTest extends GridCommonAbstractTest {
                 if (!F.isEmpty(keys)) {
                     for (Ignite g : G.allGrids()) {
                         if (g.name().contains("server")) {
-                            GridNearCacheAdapter<GridCacheAffinityKey<String>, Object> near =
-                                (GridNearCacheAdapter<GridCacheAffinityKey<String>, Object>)((GridKernal)g).
-                                    <GridCacheAffinityKey<String>, Object>internalCache();
-                            GridDhtCacheAdapter<GridCacheAffinityKey<String>, Object> dht = near.dht();
+                            GridNearCacheAdapter<CacheAffinityKey<String>, Object> near =
+                                (GridNearCacheAdapter<CacheAffinityKey<String>, Object>)((GridKernal)g).
+                                    <CacheAffinityKey<String>, Object>internalCache();
+                            GridDhtCacheAdapter<CacheAffinityKey<String>, Object> dht = near.dht();
 
-                            for (GridCacheAffinityKey<String> k : keys) {
+                            for (CacheAffinityKey<String> k : keys) {
                                 GridNearCacheEntry<?, ?> nearEntry = near.peekExx(k);
                                 GridDhtCacheEntry<?, ?> dhtEntry = dht.peekExx(k);
 
@@ -703,11 +703,11 @@ public class GridCacheConcurrentTxMultiNodeTest extends GridCommonAbstractTest {
          * @throws IgniteCheckedException If failed.
          */
         private void put(Object o, String cacheKey, String terminalId) throws IgniteCheckedException {
-            GridCache<GridCacheAffinityKey<String>, Object> cache = ignite.cache(null);
+            GridCache<CacheAffinityKey<String>, Object> cache = ignite.cache(null);
 
-            GridCacheAffinityKey<String> affinityKey = new GridCacheAffinityKey<>(cacheKey, terminalId);
+            CacheAffinityKey<String> affinityKey = new CacheAffinityKey<>(cacheKey, terminalId);
 
-            GridCacheEntry<GridCacheAffinityKey<String>, Object> entry = cache.entry(affinityKey);
+            GridCacheEntry<CacheAffinityKey<String>, Object> entry = cache.entry(affinityKey);
 
             entry.setx(o);
         }
@@ -720,7 +720,7 @@ public class GridCacheConcurrentTxMultiNodeTest extends GridCommonAbstractTest {
          */
         @SuppressWarnings({"RedundantCast"})
         private <T> Object get(String cacheKey, String terminalId) throws IgniteCheckedException {
-            Object key = new GridCacheAffinityKey<>(cacheKey, terminalId);
+            Object key = new CacheAffinityKey<>(cacheKey, terminalId);
 
             return (T) ignite.cache(null).get(key);
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/25609651/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationConsistencySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationConsistencySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationConsistencySelfTest.java
index b1ffd17..98a7a6e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationConsistencySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationConsistencySelfTest.java
@@ -23,9 +23,9 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
-import org.gridgain.grid.cache.affinity.*;
-import org.gridgain.grid.cache.affinity.consistenthash.*;
-import org.gridgain.grid.cache.affinity.fair.*;
+import org.apache.ignite.cache.affinity.*;
+import org.apache.ignite.cache.affinity.consistenthash.*;
+import org.apache.ignite.cache.affinity.fair.*;
 import org.gridgain.grid.cache.cloner.*;
 import org.gridgain.grid.cache.eviction.*;
 import org.gridgain.grid.cache.eviction.fifo.*;
@@ -77,7 +77,7 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac
     private GridStringLogger strLog;
 
     /** */
-    private GridCacheAffinityFunction aff;
+    private CacheAffinityFunction aff;
 
     /** */
     private int backups;
@@ -307,14 +307,14 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac
             new C1<GridCacheConfiguration, Void>() {
                 /** {@inheritDoc} */
                 @Override public Void apply(GridCacheConfiguration cfg) {
-                    cfg.setAffinity(new GridCacheConsistentHashAffinityFunction() {/*No-op.*/});
+                    cfg.setAffinity(new CacheConsistentHashAffinityFunction() {/*No-op.*/});
                     return null;
                 }
             },
             new C1<GridCacheConfiguration, Void>() {
                 /** {@inheritDoc} */
                 @Override public Void apply(GridCacheConfiguration cfg) {
-                    cfg.setAffinity(new GridCacheConsistentHashAffinityFunction());
+                    cfg.setAffinity(new CacheConsistentHashAffinityFunction());
                     return null;
                 }
             }
@@ -424,7 +424,7 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac
             new C1<GridCacheConfiguration, Void>() {
                 /** {@inheritDoc} */
                 @Override public Void apply(GridCacheConfiguration cfg) {
-                    cfg.setAffinityMapper(new GridCacheDefaultAffinityKeyMapper() {
+                    cfg.setAffinityMapper(new CacheDefaultAffinityKeyMapper() {
                     });
                     return null;
                 }
@@ -432,7 +432,7 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac
             new C1<GridCacheConfiguration, Void>() {
                 /** {@inheritDoc} */
                 @Override public Void apply(GridCacheConfiguration cfg) {
-                    cfg.setAffinityMapper(new GridCacheDefaultAffinityKeyMapper());
+                    cfg.setAffinityMapper(new CacheDefaultAffinityKeyMapper());
                     return null;
                 }
             }
@@ -572,13 +572,13 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac
 
         backups = 1;
 
-        aff = new GridCacheConsistentHashAffinityFunction(false, 100);
+        aff = new CacheConsistentHashAffinityFunction(false, 100);
 
         startGrid(1);
 
         // 2nd grid with another affinity.
         // Check include neighbors.
-        aff = new GridCacheConsistentHashAffinityFunction(true, 100);
+        aff = new CacheConsistentHashAffinityFunction(true, 100);
 
         GridTestUtils.assertThrows(log, new Callable<Object>() {
             @Override public Object call() throws Exception {
@@ -589,7 +589,7 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac
         backups = 2;
 
         // Check backups.
-        aff = new GridCacheConsistentHashAffinityFunction(false, 100);
+        aff = new CacheConsistentHashAffinityFunction(false, 100);
 
         GridTestUtils.assertThrows(log, new Callable<Object>() {
             @Override public Object call() throws Exception {
@@ -600,7 +600,7 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac
         backups = 1;
 
         // Partitions count.
-        aff = new GridCacheConsistentHashAffinityFunction(false, 1000);
+        aff = new CacheConsistentHashAffinityFunction(false, 1000);
 
         GridTestUtils.assertThrows(log, new Callable<Object>() {
             @Override public Object call() throws Exception {
@@ -609,8 +609,8 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac
         }, IgniteCheckedException.class, "Affinity partitions count mismatch");
 
         // Replicas count.
-        aff = new GridCacheConsistentHashAffinityFunction(false, 100);
-        ((GridCacheConsistentHashAffinityFunction)aff).setDefaultReplicas(1024);
+        aff = new CacheConsistentHashAffinityFunction(false, 100);
+        ((CacheConsistentHashAffinityFunction)aff).setDefaultReplicas(1024);
 
         GridTestUtils.assertThrows(log, new Callable<Object>() {
             @Override public Object call() throws Exception {
@@ -619,8 +619,8 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac
         }, IgniteCheckedException.class, "Affinity replicas mismatch");
 
         // Replicas count attribute name.
-        aff = new GridCacheConsistentHashAffinityFunction(false, 100);
-        ((GridCacheConsistentHashAffinityFunction)aff).setReplicaCountAttributeName("attr_name");
+        aff = new CacheConsistentHashAffinityFunction(false, 100);
+        ((CacheConsistentHashAffinityFunction)aff).setReplicaCountAttributeName("attr_name");
 
         GridTestUtils.assertThrows(log, new Callable<Object>() {
             @Override public Object call() throws Exception {
@@ -629,9 +629,9 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac
         }, IgniteCheckedException.class, "Affinity replica count attribute name mismatch");
 
         // Different hash ID resolver.
-        GridCacheConsistentHashAffinityFunction aff0 = new GridCacheConsistentHashAffinityFunction(false, 100);
+        CacheConsistentHashAffinityFunction aff0 = new CacheConsistentHashAffinityFunction(false, 100);
 
-        aff0.setHashIdResolver(new GridCacheAffinityNodeIdHashResolver());
+        aff0.setHashIdResolver(new CacheAffinityNodeIdHashResolver());
 
         aff = aff0;
 
@@ -735,7 +735,7 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac
         initCache = new C1<GridCacheConfiguration, Void>() {
             /** {@inheritDoc} */
             @Override public Void apply(GridCacheConfiguration cfg) {
-                cfg.setAffinity(new GridCacheConsistentHashAffinityFunction() {/*No-op.*/});
+                cfg.setAffinity(new CacheConsistentHashAffinityFunction() {/*No-op.*/});
                 cfg.setEvictionPolicy(new GridCacheFifoEvictionPolicy());
                 cfg.setStore(new TestStore());
                 return null;
@@ -747,7 +747,7 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac
         initCache = new C1<GridCacheConfiguration, Void>() {
             /** {@inheritDoc} */
             @Override public Void apply(GridCacheConfiguration cfg) {
-                cfg.setAffinity(new GridCacheConsistentHashAffinityFunction());
+                cfg.setAffinity(new CacheConsistentHashAffinityFunction());
                 cfg.setEvictionPolicy(new GridCacheLruEvictionPolicy());
                 cfg.setStore(null);
                 return null;
@@ -913,7 +913,7 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac
     public void testAffinityForReplicatedCache() throws Exception {
         cacheEnabled = true;
 
-        aff = new GridCachePartitionFairAffinity(); // Check cannot use GridCachePartitionFairAffinity.
+        aff = new CachePartitionFairAffinity(); // Check cannot use GridCachePartitionFairAffinity.
 
         GridTestUtils.assertThrows(log, new Callable<Object>() {
             @Override public Object call() throws Exception {
@@ -921,7 +921,7 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac
             }
         }, IgniteCheckedException.class, null);
 
-        aff = new GridCacheConsistentHashAffinityFunction(true); // Check cannot set 'excludeNeighbors' flag.
+        aff = new CacheConsistentHashAffinityFunction(true); // Check cannot set 'excludeNeighbors' flag.
         backups = Integer.MAX_VALUE;
 
         GridTestUtils.assertThrows(log, new Callable<Object>() {
@@ -930,12 +930,12 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac
             }
         }, IgniteCheckedException.class, null);
 
-        aff = new GridCacheConsistentHashAffinityFunction(false, 100);
+        aff = new CacheConsistentHashAffinityFunction(false, 100);
 
         startGrid(1);
 
         // Try to start node with  different number of partitions.
-        aff = new GridCacheConsistentHashAffinityFunction(false, 200);
+        aff = new CacheConsistentHashAffinityFunction(false, 200);
 
         GridTestUtils.assertThrows(log, new Callable<Object>() {
             @Override

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/25609651/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
index b4d67ba..0b853e6 100644
--- 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
@@ -19,7 +19,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.configuration.*;
 import org.gridgain.grid.cache.*;
-import org.gridgain.grid.cache.affinity.consistenthash.*;
+import org.apache.ignite.cache.affinity.consistenthash.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
@@ -84,7 +84,7 @@ public class GridCacheConfigurationValidationSelfTest extends GridCommonAbstract
         dfltCacheCfg.setCacheMode(PARTITIONED);
         dfltCacheCfg.setPreloadMode(ASYNC);
         dfltCacheCfg.setWriteSynchronizationMode(FULL_SYNC);
-        dfltCacheCfg.setAffinity(new GridCacheConsistentHashAffinityFunction());
+        dfltCacheCfg.setAffinity(new CacheConsistentHashAffinityFunction());
 
         // Non-default cache configuration.
         GridCacheConfiguration namedCacheCfg = defaultCacheConfiguration();
@@ -93,7 +93,7 @@ public class GridCacheConfigurationValidationSelfTest extends GridCommonAbstract
         namedCacheCfg.setPreloadMode(ASYNC);
         namedCacheCfg.setWriteSynchronizationMode(FULL_SYNC);
         namedCacheCfg.setName(NON_DFLT_CACHE_NAME);
-        namedCacheCfg.setAffinity(new GridCacheConsistentHashAffinityFunction());
+        namedCacheCfg.setAffinity(new CacheConsistentHashAffinityFunction());
 
         // Modify cache config according to test parameters.
         if (gridName.contains(WRONG_PRELOAD_MODE_GRID_NAME))
@@ -101,12 +101,12 @@ public class GridCacheConfigurationValidationSelfTest extends GridCommonAbstract
         else if (gridName.contains(WRONG_CACHE_MODE_GRID_NAME))
             dfltCacheCfg.setCacheMode(REPLICATED);
         else if (gridName.contains(WRONG_AFFINITY_GRID_NAME)) {
-            dfltCacheCfg.setAffinity(new GridCacheConsistentHashAffinityFunction() {
+            dfltCacheCfg.setAffinity(new CacheConsistentHashAffinityFunction() {
                 // No-op. Just to have another class name.
             });
         }
         else if (gridName.contains(WRONG_AFFINITY_MAPPER_GRID_NAME)) {
-            dfltCacheCfg.setAffinityMapper(new GridCacheDefaultAffinityKeyMapper() {
+            dfltCacheCfg.setAffinityMapper(new CacheDefaultAffinityKeyMapper() {
                 // No-op. Just to have another class name.
             });
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/25609651/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
index 0ff4f51..f2461ba 100644
--- 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
@@ -23,7 +23,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.marshaller.optimized.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
-import org.gridgain.grid.cache.affinity.*;
+import org.apache.ignite.cache.affinity.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
@@ -441,12 +441,12 @@ public class GridCacheDeploymentSelfTest extends GridCommonAbstractTest {
             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");
+                cache.put(new CacheAffinityKey<>("key1", affKey), "val1");
 
                 tx.commit();
             }
 
-            assertEquals("val1", cache.get(new GridCacheAffinityKey<>("key1", affKey)));
+            assertEquals("val1", cache.get(new CacheAffinityKey<>("key1", affKey)));
         }
         finally {
             stopAllGrids();
@@ -471,9 +471,9 @@ public class GridCacheDeploymentSelfTest extends GridCommonAbstractTest {
         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;
+            if (g.affinity(null).isPrimary(primary, i) && g.affinity(null).isBackup(backup, i)) {
+                assert !g.affinity(null).isPrimary(near, i) : "Key: " + i;
+                assert !g.affinity(null).isBackup(near, i) : "Key: " + i;
 
                 return i;
             }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/25609651/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
index cf96a76..7f9071b 100644
--- 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
@@ -94,9 +94,11 @@ public class GridCacheEntryVersionSelfTest extends GridCommonAbstractTest {
         try {
             Map<Integer,Integer> map = F.asMap(1, 1, 2, 2, 3, 3);
 
+            affinity(0);
+
             for (Integer key : map.keySet()) {
                 info("Affinity nodes [key=" + key + ", nodes=" +
-                    F.viewReadOnly(grid(0).cache(null).affinity().mapKeyToPrimaryAndBackups(key), F.node2id()) + ']');
+                    F.viewReadOnly(grid(0).affinity(null).mapKeyToPrimaryAndBackups(key), F.node2id()) + ']');
             }
 
             grid(0).cache(null).putAll(map);
@@ -112,7 +114,7 @@ public class GridCacheEntryVersionSelfTest extends GridCommonAbstractTest {
                     if (entry != null) {
                         GridCacheVersion ver = entry.version();
 
-                        long order = cache.affinity().mapKeyToNode(key).order();
+                        long order = grid.affinity(cache.name()).mapKeyToNode(key).order();
 
                         // Check topology version.
                         assertEquals(3, ver.topologyVersion() -
@@ -139,7 +141,7 @@ public class GridCacheEntryVersionSelfTest extends GridCommonAbstractTest {
                     if (entry != null) {
                         GridCacheVersion ver = entry.version();
 
-                        long order = cache.affinity().mapKeyToNode(key).order();
+                        long order = grid.affinity(cache.name()).mapKeyToNode(key).order();
 
                         // Check topology version.
                         assertEquals(4, ver.topologyVersion() -

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/25609651/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
index 5af9235..bc142ed 100644
--- 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
@@ -68,7 +68,7 @@ public abstract class GridCacheExAbstractFullApiSelfTest extends GridCacheAbstra
                 int key = 0;
 
                 for (int i = 0; i < 1000; i++) {
-                    if (cache.affinity().mapKeyToNode("key" + i).id().equals(grid(0).localNode().id())) {
+                    if (affinity(0).mapKeyToNode("key" + i).id().equals(grid(0).localNode().id())) {
                         key = i;
 
                         break;
@@ -78,7 +78,7 @@ public abstract class GridCacheExAbstractFullApiSelfTest extends GridCacheAbstra
                 cache.get("key" + key);
 
                 for (int i = key + 1; i < 1000; i++) {
-                    if (cache.affinity().mapKeyToNode("key" + i).id().equals(grid(0).localNode().id())) {
+                    if (affinity(0).mapKeyToNode("key" + i).id().equals(grid(0).localNode().id())) {
                         key = i;
 
                         break;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/25609651/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
index c4a7471..e314047 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
@@ -24,7 +24,7 @@ import org.apache.ignite.lang.*;
 import org.apache.ignite.spi.communication.tcp.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
-import org.gridgain.grid.cache.affinity.*;
+import org.apache.ignite.cache.affinity.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.kernal.*;
 import org.apache.ignite.spi.discovery.tcp.*;
@@ -147,10 +147,10 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
         UUID affinityKey = primaryKeyForCache(grid(0));
 
-        GridCache<GridCacheAffinityKey<String>, String> cache = grid(0).cache(null);
+        GridCache<CacheAffinityKey<String>, String> cache = grid(0).cache(null);
 
-        GridCacheAffinityKey<String> key1;
-        GridCacheAffinityKey<String> key2;
+        CacheAffinityKey<String> key1;
+        CacheAffinityKey<String> key2;
 
         try (IgniteTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 2)) {
             if (concurrency == PESSIMISTIC)
@@ -160,8 +160,8 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
             assertEquals("Unexpected number of unlock events: " + unlocks.affectedKeys(), 0, unlocks.affectedKeys().size());
 
-            key1 = new GridCacheAffinityKey<>("key1", affinityKey);
-            key2 = new GridCacheAffinityKey<>("key2", affinityKey);
+            key1 = new CacheAffinityKey<>("key1", affinityKey);
+            key2 = new CacheAffinityKey<>("key2", affinityKey);
 
             cache.putAll(F.asMap(
                 key1, "val1",
@@ -180,10 +180,10 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
             GridCache<Object, Object> gCache = g.cache(null);
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key1))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key1))
                 assertEquals("For index: " + i, "val1", gCache.peek(key1));
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key2))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key2))
                 assertEquals("For index: " + i, "val2", gCache.peek(key2));
         }
     }
@@ -211,10 +211,10 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
         UUID affinityKey = primaryKeyForCache(grid(0));
 
-        GridCacheAffinityKey<String> key1 = new GridCacheAffinityKey<>("key1", affinityKey);
-        GridCacheAffinityKey<String> key2 = new GridCacheAffinityKey<>("key2", affinityKey);
+        CacheAffinityKey<String> key1 = new CacheAffinityKey<>("key1", affinityKey);
+        CacheAffinityKey<String> key2 = new CacheAffinityKey<>("key2", affinityKey);
 
-        GridCache<GridCacheAffinityKey<String>, String> cache = grid(0).cache(null);
+        GridCache<CacheAffinityKey<String>, String> cache = grid(0).cache(null);
 
         // Populate cache.
         cache.putAll(F.asMap(
@@ -227,10 +227,10 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
             GridCache<Object, Object> gCache = g.cache(null);
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key1))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key1))
                 assertEquals("For index: " + i, "val1", gCache.peek(key1));
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key2))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key2))
                 assertEquals("For index: " + i, "val2", gCache.peek(key2));
         }
 
@@ -260,10 +260,10 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
             GridCache<Object, Object> gCache = g.cache(null);
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key1))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key1))
                 assertNull("For index: " + i, gCache.peek(key1));
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key2))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key2))
                 assertNull("For index: " + i, gCache.peek(key2));
         }
     }
@@ -291,10 +291,10 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
         UUID affinityKey = primaryKeyForCache(grid(0));
 
-        GridCacheAffinityKey<String> key1 = new GridCacheAffinityKey<>("key1", affinityKey);
-        GridCacheAffinityKey<String> key2 = new GridCacheAffinityKey<>("key2", affinityKey);
+        CacheAffinityKey<String> key1 = new CacheAffinityKey<>("key1", affinityKey);
+        CacheAffinityKey<String> key2 = new CacheAffinityKey<>("key2", affinityKey);
 
-        GridCache<GridCacheAffinityKey<String>, String> cache = grid(0).cache(null);
+        GridCache<CacheAffinityKey<String>, String> cache = grid(0).cache(null);
 
         // Populate cache.
         cache.putAll(F.asMap(
@@ -307,10 +307,10 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
             GridCache<Object, Object> gCache = g.cache(null);
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key1))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key1))
                 assertEquals("For index: " + i, "val1", gCache.peek(key1));
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key2))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key2))
                 assertEquals("For index: " + i, "val2", gCache.peek(key2));
         }
 
@@ -353,9 +353,9 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
         final UUID affinityKey = primaryKeyForCache(grid(0));
 
-        final GridCacheAffinityKey<String> key1 = new GridCacheAffinityKey<>("key1", affinityKey);
+        final CacheAffinityKey<String> key1 = new CacheAffinityKey<>("key1", affinityKey);
 
-        final GridCache<GridCacheAffinityKey<String>, String> cache = grid(0).cache(null);
+        final GridCache<CacheAffinityKey<String>, String> cache = grid(0).cache(null);
 
         // Populate cache.
         cache.put(key1, "val1");
@@ -365,7 +365,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
             GridCache<Object, Object> gCache = g.cache(null);
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key1))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key1))
                 assertEquals("For index: " + i, "val1", gCache.peek(key1));
         }
 
@@ -438,9 +438,9 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
         final UUID affinityKey = primaryKeyForCache(grid(0));
 
-        final GridCacheAffinityKey<String> key1 = new GridCacheAffinityKey<>("key1", affinityKey);
+        final CacheAffinityKey<String> key1 = new CacheAffinityKey<>("key1", affinityKey);
 
-        final GridCache<GridCacheAffinityKey<String>, String> cache = grid(0).cache(null);
+        final GridCache<CacheAffinityKey<String>, String> cache = grid(0).cache(null);
 
         // Populate cache.
         cache.put(key1, "val1");
@@ -450,7 +450,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
             GridCache<Object, Object> gCache = g.cache(null);
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key1))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key1))
                 assertEquals("For index: " + i, "val1", gCache.peek(key1));
         }
 
@@ -468,7 +468,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
                 GridCache<Object, Object> gCache = g.cache(null);
 
-                if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key1))
+                if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key1))
                     assertEquals("For index: " + i, "val01", gCache.peek(key1));
             }
         }
@@ -505,10 +505,13 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
         GridCache<UUID, String> cache = grid(0).cache(null);
 
+        IgniteCacheAffinity<UUID> affinity = grid(0).affinity(cache.name());
+
+
         UUID key1;
         UUID key2;
 
-        try (IgniteTx tx = cache.txStartPartition(cache.affinity().partition(affinityKey), concurrency,
+        try (IgniteTx tx = cache.txStartPartition(affinity.partition(affinityKey), concurrency,
             READ_COMMITTED, 0, 2)) {
             // Note that events are not generated for internal keys.
             assertEquals("Unexpected number of lock events: " + locks.affectedKeys(), 0, locks.affectedKeys().size());
@@ -519,7 +522,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
             GridCacheAffinityManager<Object, Object> affMgr = cacheAdapter.context().affinity();
 
-            GridPartitionLockKey partAffKey = affMgr.partitionAffinityKey(cache.affinity().partition(affinityKey));
+            GridPartitionLockKey partAffKey = affMgr.partitionAffinityKey(affinity.partition(affinityKey));
 
             if (concurrency == PESSIMISTIC)
                 assertTrue(cacheAdapter.entryEx(partAffKey).lockedByThread());
@@ -527,12 +530,12 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
             do {
                 key1 = UUID.randomUUID();
             }
-            while (cache.affinity().partition(key1) != cache.affinity().partition(affinityKey));
+            while (affinity.partition(key1) != affinity.partition(affinityKey));
 
             do {
                 key2 = UUID.randomUUID();
             }
-            while (cache.affinity().partition(key2) != cache.affinity().partition(affinityKey));
+            while (affinity.partition(key2) != affinity.partition(affinityKey));
 
             cache.putAll(F.asMap(
                 key1, "val1",
@@ -551,10 +554,10 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
             GridCache<Object, Object> gCache = g.cache(null);
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key1))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key1))
                 assertEquals("For index: " + i, "val1", gCache.peek(key1));
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key2))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key2))
                 assertEquals("For index: " + i, "val2", gCache.peek(key2));
         }
     }
@@ -624,10 +627,10 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
         UUID affinityKey = primaryKeyForCache(grid(0));
 
-        GridCacheAffinityKey<String> key1 = new GridCacheAffinityKey<>("key1", affinityKey);
-        GridCacheAffinityKey<String> key2 = new GridCacheAffinityKey<>("key2", affinityKey);
+        CacheAffinityKey<String> key1 = new CacheAffinityKey<>("key1", affinityKey);
+        CacheAffinityKey<String> key2 = new CacheAffinityKey<>("key2", affinityKey);
 
-        GridCache<GridCacheAffinityKey<String>, String> cache = grid(0).cache(null);
+        GridCache<CacheAffinityKey<String>, String> cache = grid(0).cache(null);
 
         // Populate cache.
         cache.putAll(F.asMap(
@@ -640,10 +643,10 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
             GridCache<Object, Object> gCache = g.cache(null);
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key1))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key1))
                 assertEquals("For index: " + i, "val1", gCache.peek(key1));
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key2))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key2))
                 assertEquals("For index: " + i, "val2", gCache.peek(key2));
         }
 
@@ -683,10 +686,10 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
         UUID affinityKey = primaryKeyForCache(grid(0));
 
-        GridCacheAffinityKey<String> key1 = new GridCacheAffinityKey<>("key1", affinityKey);
-        GridCacheAffinityKey<String> key2 = new GridCacheAffinityKey<>("key2", affinityKey);
+        CacheAffinityKey<String> key1 = new CacheAffinityKey<>("key1", affinityKey);
+        CacheAffinityKey<String> key2 = new CacheAffinityKey<>("key2", affinityKey);
 
-        GridCache<GridCacheAffinityKey<String>, String> cache = grid(0).cache(null);
+        GridCache<CacheAffinityKey<String>, String> cache = grid(0).cache(null);
 
         grid(0).events().localListen(locks, EVT_CACHE_OBJECT_LOCKED);
         grid(0).events().localListen(unlocks, EVT_CACHE_OBJECT_UNLOCKED);
@@ -719,10 +722,10 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
             GridCache<Object, Object> gCache = g.cache(null);
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key1))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key1))
                 assertEquals("For index: " + i, "val01", gCache.peek(key1));
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key2))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key2))
                 assertEquals("For index: " + i, "val02", gCache.peek(key2));
         }
     }
@@ -764,10 +767,10 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
         UUID affinityKey = primaryKeyForCache(grid(0));
 
-        GridCacheAffinityKey<String> key1 = new GridCacheAffinityKey<>("key1", affinityKey);
-        GridCacheAffinityKey<String> key2 = new GridCacheAffinityKey<>("key2", affinityKey);
+        CacheAffinityKey<String> key1 = new CacheAffinityKey<>("key1", affinityKey);
+        CacheAffinityKey<String> key2 = new CacheAffinityKey<>("key2", affinityKey);
 
-        GridCache<GridCacheAffinityKey<String>, String> cache = grid(0).cache(null);
+        GridCache<CacheAffinityKey<String>, String> cache = grid(0).cache(null);
 
         // Populate cache.
         cache.putAll(F.asMap(
@@ -780,10 +783,10 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
             GridCache<Object, Object> gCache = g.cache(null);
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key1))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key1))
                 assertEquals("For index: " + i, "val1", gCache.peek(key1));
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key2))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key2))
                 assertEquals("For index: " + i, "val2", gCache.peek(key2));
         }
 
@@ -844,10 +847,10 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
         UUID affinityKey = primaryKeyForCache(grid(0));
 
-        GridCacheAffinityKey<String> key1 = new GridCacheAffinityKey<>("key1", affinityKey);
-        GridCacheAffinityKey<String> key2 = new GridCacheAffinityKey<>("key2", affinityKey);
+        CacheAffinityKey<String> key1 = new CacheAffinityKey<>("key1", affinityKey);
+        CacheAffinityKey<String> key2 = new CacheAffinityKey<>("key2", affinityKey);
 
-        GridCache<GridCacheAffinityKey<String>, String> cache = grid(0).cache(null);
+        GridCache<CacheAffinityKey<String>, String> cache = grid(0).cache(null);
 
         // Populate cache.
         cache.putAll(F.asMap(
@@ -860,10 +863,10 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
             GridCache<Object, Object> gCache = g.cache(null);
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key1))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key1))
                 assertEquals("For index: " + i, "val1", gCache.peek(key1));
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key2))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key2))
                 assertEquals("For index: " + i, "val2", gCache.peek(key2));
         }
 
@@ -924,7 +927,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
         cache(0).put(key, "val");
 
-        try (IgniteTx ignored = cache(0).txStartPartition(cache(0).affinity().partition(key), concurrency,
+        try (IgniteTx ignored = cache(0).txStartPartition(affinity(0).partition(key), concurrency,
             REPEATABLE_READ, 0, 1)) {
             assertEquals("val", cache(0).get(key));
         }
@@ -950,11 +953,11 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
     private void checkGroupLockPutWrongKey(IgniteTxConcurrency concurrency) throws Exception {
         UUID affinityKey = primaryKeyForCache(grid(0));
 
-        final GridCache<GridCacheAffinityKey<String>, String> cache = grid(0).cache(null);
+        final GridCache<CacheAffinityKey<String>, String> cache = grid(0).cache(null);
 
         try (IgniteTx ignored = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 1)) {
             // Key with affinity key different from enlisted on tx start should raise exception.
-            cache.put(new GridCacheAffinityKey<>("key1", UUID.randomUUID()), "val1");
+            cache.put(new CacheAffinityKey<>("key1", UUID.randomUUID()), "val1");
 
             fail("Exception should be thrown");
         }
@@ -985,9 +988,9 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
     private void checkGroupLockRemoveWrongKey(IgniteTxConcurrency concurrency) throws Exception {
         UUID affinityKey = primaryKeyForCache(grid(0));
 
-        final GridCache<GridCacheAffinityKey<String>, String> cache = grid(0).cache(null);
+        final GridCache<CacheAffinityKey<String>, String> cache = grid(0).cache(null);
 
-        final GridCacheAffinityKey<String> key = new GridCacheAffinityKey<>("key1", UUID.randomUUID());
+        final CacheAffinityKey<String> key = new CacheAffinityKey<>("key1", UUID.randomUUID());
 
         cache.put(key, "val");
 
@@ -1043,8 +1046,8 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
         final GridCache<Object, String> cache = grid(0).cache(null);
 
-        final GridCacheAffinityKey<String> key1 = new GridCacheAffinityKey<>("key1", affinityKey);
-        final GridCacheAffinityKey<String> key2 = new GridCacheAffinityKey<>("key2", affinityKey);
+        final CacheAffinityKey<String> key1 = new CacheAffinityKey<>("key1", affinityKey);
+        final CacheAffinityKey<String> key2 = new CacheAffinityKey<>("key2", affinityKey);
 
         cache.put(affinityKey, "0");
         cache.put(key1, "0");
@@ -1091,14 +1094,14 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
     private void checkGroupLockWriteThrough(IgniteTxConcurrency concurrency) throws Exception {
         UUID affinityKey = primaryKeyForCache(grid(0));
 
-        GridCache<GridCacheAffinityKey<String>, String> cache = grid(0).cache(null);
+        GridCache<CacheAffinityKey<String>, String> cache = grid(0).cache(null);
 
-        GridCacheAffinityKey<String> key1 = new GridCacheAffinityKey<>("key1", affinityKey);
-        GridCacheAffinityKey<String> key2 = new GridCacheAffinityKey<>("key2", affinityKey);
-        GridCacheAffinityKey<String> key3 = new GridCacheAffinityKey<>("key3", affinityKey);
-        GridCacheAffinityKey<String> key4 = new GridCacheAffinityKey<>("key4", affinityKey);
+        CacheAffinityKey<String> key1 = new CacheAffinityKey<>("key1", affinityKey);
+        CacheAffinityKey<String> key2 = new CacheAffinityKey<>("key2", affinityKey);
+        CacheAffinityKey<String> key3 = new CacheAffinityKey<>("key3", affinityKey);
+        CacheAffinityKey<String> key4 = new CacheAffinityKey<>("key4", affinityKey);
 
-        Map<GridCacheAffinityKey<String>, String> putMap = F.asMap(
+        Map<CacheAffinityKey<String>, String> putMap = F.asMap(
             key1, "val1",
             key2, "val2",
             key3, "val3",
@@ -1118,16 +1121,16 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
             GridCache<Object, Object> gCache = g.cache(null);
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key1))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key1))
                 assertEquals("For index: " + i, "val1", gCache.peek(key1));
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key2))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key2))
                 assertEquals("For index: " + i, "val2", gCache.peek(key2));
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key3))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key3))
                 assertEquals("For index: " + i, "val3", gCache.peek(key3));
 
-            if (gCache.affinity().isPrimaryOrBackup(g.cluster().localNode(), key4))
+            if (g.affinity(gCache.name()).isPrimaryOrBackup(g.cluster().localNode(), key4))
                 assertEquals("For index: " + i, "val4", gCache.peek(key4));
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/25609651/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java
index b1dc8e4..e0edfbc 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java
@@ -105,7 +105,7 @@ class GridCacheGroupLockPutTask extends ComputeTaskAdapter<Collection<Integer>,
                         Object affKey = pair.get1();
 
                         // Group lock partition.
-                        try (IgniteTx tx = cache.txStartPartition(cache.affinity().partition(affKey),
+                        try (IgniteTx tx = cache.txStartPartition(ignite.affinity(cacheName).partition(affKey),
                             optimistic ? OPTIMISTIC : PESSIMISTIC, REPEATABLE_READ, 0, pair.get2().size())) {
                             for (Integer val : pair.get2())
                                 cache.put(val, val);
@@ -131,7 +131,7 @@ class GridCacheGroupLockPutTask extends ComputeTaskAdapter<Collection<Integer>,
                     Map<Integer, T2<Integer, Collection<Integer>>> res = new HashMap<>();
 
                     for (Integer val : data) {
-                        int part = cache.affinity().partition(val);
+                        int part = ignite.affinity(cacheName).partition(val);
 
                         T2<Integer, Collection<Integer>> tup = res.get(part);