http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java
index 93dde23..237371e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java
@@ -129,9 +129,9 @@ public class GridCacheEvictionManager<K, V> extends 
GridCacheManagerAdapter<K, V
 
     /** {@inheritDoc} */
     @Override public void start0() throws IgniteCheckedException {
-        CacheConfiguration cfg = cctx.config();
+        CacheConfiguration<K, V> cfg = cctx.config();
 
-        plc = cctx.isNear() ? cfg.<K, V>getNearEvictionPolicy() : cfg.<K, 
V>getEvictionPolicy();
+        plc = cctx.isNear() ? 
cfg.getNearConfiguration().getNearEvictionPolicy() : cfg.getEvictionPolicy();
 
         memoryMode = cctx.config().getMemoryMode();
 
@@ -148,13 +148,13 @@ public class GridCacheEvictionManager<K, V> extends 
GridCacheManagerAdapter<K, V
         if (!cctx.isLocal()) {
             evictSync = cfg.isEvictSynchronized() && !cctx.isNear() && 
!cctx.isSwapOrOffheapEnabled();
 
-            nearSync = cfg.isEvictNearSynchronized() && isNearEnabled(cctx) && 
!cctx.isNear();
+            nearSync = isNearEnabled(cctx) && !cctx.isNear() && 
cfg.isEvictSynchronized();
         }
         else {
             if (cfg.isEvictSynchronized())
                 U.warn(log, "Ignored 'evictSynchronized' configuration 
property for LOCAL cache: " + cctx.namexx());
 
-            if (cfg.isEvictNearSynchronized())
+            if (cfg.getNearConfiguration() != null && 
cfg.isEvictSynchronized())
                 U.warn(log, "Ignored 'evictNearSynchronized' configuration 
property for LOCAL cache: " + cctx.namexx());
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index f867bb7..e689581 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
@@ -51,6 +51,7 @@ import org.apache.ignite.lifecycle.*;
 import org.apache.ignite.spi.*;
 import org.jetbrains.annotations.*;
 
+import javax.cache.*;
 import javax.cache.configuration.*;
 import javax.cache.integration.*;
 import javax.management.*;
@@ -61,7 +62,6 @@ import java.util.concurrent.*;
 import static org.apache.ignite.IgniteSystemProperties.*;
 import static org.apache.ignite.cache.CacheAtomicityMode.*;
 import static org.apache.ignite.configuration.CacheConfiguration.*;
-import static org.apache.ignite.cache.CacheDistributionMode.*;
 import static org.apache.ignite.cache.CacheMode.*;
 import static org.apache.ignite.cache.CachePreloadMode.*;
 import static org.apache.ignite.cache.CacheWriteSynchronizationMode.*;
@@ -194,21 +194,6 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
         if (cfg.getAtomicityMode() == null)
             cfg.setAtomicityMode(ATOMIC);
 
-        if (cfg.getCacheMode() == PARTITIONED || cfg.getCacheMode() == 
REPLICATED) {
-            if (cfg.getDistributionMode() == null)
-                cfg.setDistributionMode(PARTITIONED_ONLY);
-
-            if (cfg.getDistributionMode() == PARTITIONED_ONLY ||
-                cfg.getDistributionMode() == CLIENT_ONLY) {
-                if (cfg.getNearEvictionPolicy() != null)
-                    U.quietAndWarn(log, "Ignoring near eviction policy since 
near cache is disabled.");
-            }
-
-            assert cfg.getDistributionMode() != null;
-        }
-        else
-            assert cfg.getCacheMode() == LOCAL;
-
         if (cfg.getWriteSynchronizationMode() == null)
             cfg.setWriteSynchronizationMode(PRIMARY_SYNC);
 
@@ -284,9 +269,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
             perf.add(msg, true);
 
         if (cfg.getCacheMode() == PARTITIONED) {
-            perf.add("Disable near cache (set 'partitionDistributionMode' to 
PARTITIONED_ONLY or CLIENT_ONLY)",
-                cfg.getDistributionMode() != NEAR_PARTITIONED &&
-                    cfg.getDistributionMode() != NEAR_ONLY);
+            perf.add("Disable near cache (set 'nearEnabled' to false)", 
cfg.getNearConfiguration() != null);
 
             if (cfg.getAffinity() != null)
                 perf.add("Decrease number of backups (set 'keyBackups' to 0)", 
cfg.getBackups() == 0);
@@ -332,11 +315,11 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                         "CacheRendezvousAffinityFunction cannot be set 
[cacheName=" + cc.getName() + ']');
             }
 
-            if (cc.getDistributionMode() == NEAR_PARTITIONED) {
-                U.warn(log, "NEAR_PARTITIONED distribution mode cannot be used 
with REPLICATED cache, " +
-                    "will be changed to PARTITIONED_ONLY [cacheName=" + 
cc.getName() + ']');
+            if (cc.getNearConfiguration() != null) {
+                U.warn(log, "Near cache cannot be used with REPLICATED cache, 
" +
+                    "will be ignored [cacheName=" + cc.getName() + ']');
 
-                cc.setDistributionMode(PARTITIONED_ONLY);
+                cc.setNearConfiguration(null);
             }
         }
 
@@ -492,12 +475,16 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
      */
     private void prepare(CacheConfiguration cfg, Object... objs) throws 
IgniteCheckedException {
         prepare(cfg, cfg.getEvictionPolicy(), false);
-        prepare(cfg, cfg.getNearEvictionPolicy(), true);
         prepare(cfg, cfg.getAffinity(), false);
         prepare(cfg, cfg.getAffinityMapper(), false);
         prepare(cfg, cfg.getEvictionFilter(), false);
         prepare(cfg, cfg.getInterceptor(), false);
 
+        NearCacheConfiguration nearCfg = cfg.getNearConfiguration();
+
+        if (nearCfg != null)
+            prepare(cfg, nearCfg.getNearEvictionPolicy(), true);
+
         for (Object obj : objs)
             prepare(cfg, obj, false);
     }
@@ -525,12 +512,16 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
         CacheConfiguration cfg = cctx.config();
 
         cleanup(cfg, cfg.getEvictionPolicy(), false);
-        cleanup(cfg, cfg.getNearEvictionPolicy(), true);
         cleanup(cfg, cfg.getAffinity(), false);
         cleanup(cfg, cfg.getAffinityMapper(), false);
         cleanup(cfg, cctx.jta().tmLookup(), false);
         cleanup(cfg, cctx.store().configuredStore(), false);
 
+        NearCacheConfiguration nearCfg = cfg.getNearConfiguration();
+
+        if (nearCfg != null)
+            cleanup(cfg, nearCfg.getNearEvictionPolicy(), true);
+
         cctx.cleanup();
     }
 
@@ -629,7 +620,10 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
 
             registeredCaches.put(cfg.getName(), desc);
 
-            ctx.discovery().addDynamicCacheFilter(cfg.getName(), 
cfg.getNodeFilter(), cfg.isNearEnabled(),
+            ctx.discovery().setCacheFilter(
+                cfg.getName(),
+                cfg.getNodeFilter(),
+                cfg.getNearConfiguration() != null,
                 cfg.getCacheMode() == LOCAL);
 
             sharedCtx.addCacheContext(cacheCtx);
@@ -1030,11 +1024,12 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
             ctx,
             sharedCtx,
             cfg,
+            ctx.discovery().cacheAffinityNode(ctx.discovery().localNode(), 
cfg.getName()),
 
-                /*
-                 * Managers in starting order!
-                 * ===========================
-                 */
+            /*
+             * Managers in starting order!
+             * ===========================
+             */
             evtMgr,
             swapMgr,
             serMgr,
@@ -1096,13 +1091,15 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                 else {
                     switch (cfg.getAtomicityMode()) {
                         case TRANSACTIONAL: {
-                            cache = GridCacheUtils.isAffinityNode(cfg) ? new 
GridDhtColocatedCache(cacheCtx) :
+                            cache = cacheCtx.affinityNode() ?
+                                new GridDhtColocatedCache(cacheCtx) :
                                 new GridDhtColocatedCache(cacheCtx, new 
GridNoStorageCacheMap(cacheCtx));
 
                             break;
                         }
                         case ATOMIC: {
-                            cache = GridCacheUtils.isAffinityNode(cfg) ? new 
GridDhtAtomicCache(cacheCtx) :
+                            cache = cacheCtx.affinityNode() ?
+                                new GridDhtAtomicCache(cacheCtx) :
                                 new GridDhtAtomicCache(cacheCtx, new 
GridNoStorageCacheMap(cacheCtx));
 
                             break;
@@ -1152,11 +1149,12 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                 ctx,
                 sharedCtx,
                 cfg,
+                ctx.discovery().cacheAffinityNode(ctx.discovery().localNode(), 
cfg.getName()),
 
-                    /*
-                     * Managers in starting order!
-                     * ===========================
-                     */
+                /*
+                 * Managers in starting order!
+                 * ===========================
+                 */
                 evtMgr,
                 swapMgr,
                 serMgr,
@@ -1180,9 +1178,9 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
 
                     GridNearTransactionalCache near = 
(GridNearTransactionalCache)cache;
 
-                    GridDhtCache dhtCache = 
!GridCacheUtils.isAffinityNode(cfg) ?
-                        new GridDhtCache(cacheCtx, new 
GridNoStorageCacheMap(cacheCtx)) :
-                        new GridDhtCache(cacheCtx);
+                    GridDhtCache dhtCache = cacheCtx.affinityNode() ?
+                        new GridDhtCache(cacheCtx) :
+                        new GridDhtCache(cacheCtx, new 
GridNoStorageCacheMap(cacheCtx));
 
                     dhtCache.near(near);
 
@@ -1197,7 +1195,8 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
 
                     GridNearAtomicCache near = (GridNearAtomicCache)cache;
 
-                    GridDhtAtomicCache dhtCache = 
GridCacheUtils.isAffinityNode(cfg) ? new GridDhtAtomicCache(cacheCtx) :
+                    GridDhtAtomicCache dhtCache = cacheCtx.affinityNode() ?
+                        new GridDhtAtomicCache(cacheCtx) :
                         new GridDhtAtomicCache(cacheCtx, new 
GridNoStorageCacheMap(cacheCtx));
 
                     dhtCache.near(near);
@@ -1390,25 +1389,24 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                     if (req.isStart()) {
                         CacheConfiguration ccfg = 
req.startCacheConfiguration();
 
-                        if (validateCfg && existing != null)
-                            checkCache(existing.cacheConfiguration(), ccfg, 
nodeId);
+                        if (existing != null) {
+                            if (validateCfg)
+                                checkCache(existing.cacheConfiguration(), 
ccfg, nodeId);
+
+                            if (existing.valid()) {
+                                existing.deploymentId(req.deploymentId());
 
-                        if (existing == null) {
+                                ctx.discovery().setCacheFilter(
+                                    req.cacheName(),
+                                    ccfg.getNodeFilter(),
+                                    ccfg.getNearConfiguration() != null,
+                                    ccfg.getCacheMode() == LOCAL);
+                            }
+                        }
+                        else
                             registeredCaches.put(req.cacheName(), new 
DynamicCacheDescriptor(
                                 ccfg,
                                 req.deploymentId()));
-                        }
-                        else
-                            existing.deploymentId(req.deploymentId());
-
-                        if (existing == null || existing.valid()) {
-                            
ctx.discovery().addDynamicCacheFilter(req.cacheName(),
-                                ccfg.getNodeFilter(), ccfg.isNearEnabled(), 
ccfg.getCacheMode() == LOCAL);
-                        }
-                    }
-                    else if (req.isNearStart()) {
-                        // TODO IGNITE-45.
-                        
//ctx.discovery().addDynamicCacheFilter(req.cacheName(),
                     }
                 }
                 catch (IgniteCheckedException e) {
@@ -1540,11 +1538,13 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
      */
     private void onCacheChangeRequested(DynamicCacheChangeBatch batch) {
         for (DynamicCacheChangeRequest req : batch.requests()) {
+            DynamicCacheDescriptor desc = 
registeredCaches.get(req.cacheName());
+
             if (req.isStart()) {
                 CacheConfiguration ccfg = req.startCacheConfiguration();
 
                 // Check if cache with the same name was concurrently started 
form different node.
-                if (registeredCaches.containsKey(ccfg.getName())) {
+                if (desc != null) {
                     // If local node initiated start, fail the start future.
                     DynamicCacheStartFuture startFut = 
(DynamicCacheStartFuture)pendingFuts.get(ccfg.getName());
 
@@ -1562,15 +1562,26 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
 
                 DynamicCacheDescriptor old = 
registeredCaches.put(ccfg.getName(), startDesc);
 
-                ctx.discovery().addDynamicCacheFilter(ccfg.getName(), 
ccfg.getNodeFilter(), ccfg.isNearEnabled(),
+                ctx.discovery().setCacheFilter(
+                    ccfg.getName(),
+                    ccfg.getNodeFilter(),
+                    ccfg.getNearConfiguration() != null,
                     ccfg.getCacheMode() == LOCAL);
 
                 assert old == null :
                     "Dynamic cache map was concurrently modified [new=" + 
startDesc + ", old=" + old + ']';
             }
+            else if (req.isClientStart()) {
+                if (desc != null) {
+                    if (req.nearCacheCfg() != null)
+                        ctx.discovery().addNearNode(req.cacheName(), 
req.clientNodeId());
+                }
+                else {
+                    if (log.isDebugEnabled())
+                        log.debug("Will not start client cache since cache is 
not registered: " + req.cacheName());
+                }
+            }
             else {
-                DynamicCacheDescriptor desc = 
registeredCaches.get(req.cacheName());
-
                 if (desc == null) {
                     // If local node initiated start, fail the start future.
                     DynamicCacheStartFuture changeFut = 
(DynamicCacheStartFuture)pendingFuts.get(req.cacheName());
@@ -1587,7 +1598,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
 
                 desc.onCancelled();
 
-                ctx.discovery().removeDynamicCacheFilter(req.cacheName());
+                ctx.discovery().removeCacheFilter(req.cacheName());
             }
         }
     }
@@ -1673,10 +1684,11 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
     /**
      * Checks that remote caches has configuration compatible with the local.
      *
-     * @param rmt Node.
+     * @param rmt Remote node ID.
      * @throws IgniteCheckedException If check failed.
      */
-    private void checkCache(CacheConfiguration locCfg, CacheConfiguration 
rmtCfg, UUID rmt) throws IgniteCheckedException {
+    private void checkCache(CacheConfiguration locCfg, CacheConfiguration 
rmtCfg, UUID rmt)
+        throws IgniteCheckedException {
         GridCacheAttributes rmtAttr = new GridCacheAttributes(rmtCfg, null);
         GridCacheAttributes locAttr = new GridCacheAttributes(locCfg, null);
 
@@ -1710,21 +1722,6 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
             CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, 
"evictionPolicy", "Eviction policy",
                 locAttr.evictionPolicyClassName(), 
rmtAttr.evictionPolicyClassName(), true);
 
-            if (!skipStoreConsistencyCheck(locAttr, rmtAttr)) {
-                CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, 
"store", "Cache store",
-                    locAttr.storeClassName(), rmtAttr.storeClassName(), true);
-
-                CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, 
"readThrough",
-                    "Read through enabled", locAttr.readThrough(), 
locAttr.readThrough(), true);
-
-                CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, 
"writeThrough",
-                    "Write through enabled", locAttr.writeThrough(), 
locAttr.writeThrough(), true);
-
-                CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, 
"loadPreviousValue",
-                    "Load previous value enabled", locAttr.loadPreviousValue(),
-                    locAttr.loadPreviousValue(), true);
-            }
-
             CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, 
"transactionManagerLookup",
                 "Transaction manager lookup", 
locAttr.transactionManagerLookupClassName(),
                 rmtAttr.transactionManagerLookupClassName(), false);
@@ -1789,10 +1786,6 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                     "Eviction synchronized", locAttr.evictSynchronized(), 
rmtAttr.evictSynchronized(),
                     true);
 
-                CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, 
"evictNearSynchronized",
-                    "Eviction near synchronized", 
locAttr.evictNearSynchronized(),
-                    rmtAttr.evictNearSynchronized(), true);
-
                 CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, 
"nearEvictionPolicy",
                     "Near eviction policy", 
locAttr.nearEvictionPolicyClassName(),
                     rmtAttr.nearEvictionPolicyClassName(), false);
@@ -1835,16 +1828,17 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
     /**
      * Checks if store check should be skipped for given nodes.
      *
-     * @param locAttr Local node attributes.
-     * @param rmtAttr Remote node attributes.
+     * @param cfg Cache configuration.
+     * @param rmtNode Remote node.
+     * @param locNode Local node.
      * @return {@code True} if store check should be skipped.
      */
-    private boolean skipStoreConsistencyCheck(GridCacheAttributes locAttr, 
GridCacheAttributes rmtAttr) {
+    private boolean skipStoreConsistencyCheck(CacheConfiguration cfg, 
ClusterNode rmtNode, ClusterNode locNode) {
         return
             // In atomic mode skip check if either local or remote node is 
client.
-            locAttr.atomicityMode() == ATOMIC &&
-                (locAttr.partitionedTaxonomy() == CLIENT_ONLY || 
locAttr.partitionedTaxonomy() == NEAR_ONLY ||
-                rmtAttr.partitionedTaxonomy() == CLIENT_ONLY || 
rmtAttr.partitionedTaxonomy() == NEAR_ONLY);
+            cfg.getAtomicityMode() == ATOMIC &&
+                (!ctx.discovery().cacheAffinityNode(rmtNode, cfg.getName()) ||
+                 !ctx.discovery().cacheAffinityNode(locNode, cfg.getName()));
     }
 
     /**
@@ -2034,12 +2028,28 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
         if (sysCaches.contains(name))
             throw new IllegalStateException("Failed to get cache because it is 
system cache: " + name);
 
-        IgniteCache<K,V> cache = (IgniteCache<K, V>)jCacheProxies.get(name);
+        try {
+            IgniteCache<K,V> cache = (IgniteCache<K, 
V>)jCacheProxies.get(name);
 
-        if (cache == null)
-            throw new IllegalArgumentException("Cache is not configured: " + 
name);
+            if (cache == null) {
+                if (!registeredCaches.containsKey(name))
+                    throw new IllegalArgumentException("Cache is not started: 
" + name);
 
-        return cache;
+                DynamicCacheChangeRequest req = new 
DynamicCacheChangeRequest(ctx.localNodeId(), null);
+
+                F.first(initiateCacheChanges(F.asList(req))).get();
+
+                cache = (IgniteCache<K, V>)jCacheProxies.get(name);
+
+                if (cache == null)
+                    throw new IllegalArgumentException("Cache is not started: 
" + name);
+            }
+
+            return cache;
+        }
+        catch (IgniteCheckedException e) {
+            throw new CacheException(e);
+        }
     }
 
     /**
@@ -2226,9 +2236,13 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
         ret.add(ccfg.getAffinityMapper());
         ret.add(ccfg.getEvictionFilter());
         ret.add(ccfg.getEvictionPolicy());
-        ret.add(ccfg.getNearEvictionPolicy());
         ret.add(ccfg.getInterceptor());
 
+        NearCacheConfiguration nearCfg = ccfg.getNearConfiguration();
+
+        if (nearCfg != null)
+            ret.add(nearCfg.getNearEvictionPolicy());
+
         Collections.addAll(ret, objs);
 
         return ret;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
index 23ec81b..277d95a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
@@ -261,6 +261,18 @@ public class GridCacheProxyImpl<K, V> implements 
GridCacheProxy<K, V>, Externali
     }
 
     /** {@inheritDoc} */
+    @Override public boolean affinityNode() {
+        GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
+
+        try {
+            return cache.affinityNode();
+        }
+        finally {
+            gate.leave(prev);
+        }
+    }
+
+    /** {@inheritDoc} */
     @Override public ConcurrentMap<K, V> toMap() {
         GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
index 6604ccc..aacaebc 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
@@ -568,25 +568,6 @@ public class GridCacheUtils {
     }
 
     /**
-     * Checks if node is affinity node for given cache configuration.
-     *
-     * @param cfg Configuration to check.
-     * @return {@code True} if local node is affinity node (i.e. will store 
partitions).
-     */
-    public static boolean isAffinityNode(CacheConfiguration cfg) {
-        if (cfg.getCacheMode() == LOCAL)
-            return true;
-
-        CacheDistributionMode partTax = cfg.getDistributionMode();
-
-        if (partTax == null)
-            partTax = distributionMode(cfg);
-
-        return partTax == CacheDistributionMode.PARTITIONED_ONLY ||
-            partTax == CacheDistributionMode.NEAR_PARTITIONED;
-    }
-
-    /**
      * Gets DHT affinity nodes.
      *
      * @param ctx Cache context.
@@ -629,19 +610,7 @@ public class GridCacheUtils {
         if (cfg.getCacheMode() == LOCAL)
             return false;
 
-        return cfg.getDistributionMode() == NEAR_PARTITIONED ||
-            cfg.getDistributionMode() == CacheDistributionMode.NEAR_ONLY;
-    }
-
-    /**
-     * Gets default partitioned cache mode.
-     *
-     * @param cfg Configuration.
-     * @return Partitioned cache mode.
-     */
-    public static CacheDistributionMode distributionMode(CacheConfiguration 
cfg) {
-        return cfg.getDistributionMode() != null ?
-            cfg.getDistributionMode() : CacheDistributionMode.PARTITIONED_ONLY;
+        return cfg.getNearConfiguration() != null;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
index 338cd3d..517920e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
@@ -615,7 +615,7 @@ public abstract class GridDhtCacheAdapter<K, V> extends 
GridDistributedCacheAdap
      * @param req Get request.
      */
     protected void processNearGetRequest(final UUID nodeId, final 
GridNearGetRequest<K, V> req) {
-        assert isAffinityNode(cacheCfg);
+        assert ctx.affinityNode();
 
         long ttl = req.accessTtl();
 
@@ -904,9 +904,7 @@ public abstract class GridDhtCacheAdapter<K, V> extends 
GridDistributedCacheAdap
 
     /** {@inheritDoc} */
     @Override public List<GridCacheClearAllRunnable<K, V>> splitClearLocally() 
{
-        CacheDistributionMode mode = configuration().getDistributionMode();
-
-        return (mode == PARTITIONED_ONLY || mode == NEAR_PARTITIONED) ? 
super.splitClearLocally() :
+        return ctx.affinityNode() ? super.splitClearLocally() :
             Collections.<GridCacheClearAllRunnable<K, V>>emptyList();
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
index 75de04d..d3fa4f9 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
@@ -500,7 +500,7 @@ public abstract class GridDhtTransactionalCacheAdapter<K, 
V> extends GridDhtCach
      * @param req Request.
      */
     private void processNearLockRequest(UUID nodeId, GridNearLockRequest<K, V> 
req) {
-        assert isAffinityNode(cacheCfg);
+        assert ctx.affinityNode();
         assert nodeId != null;
         assert req != null;
 
@@ -1214,7 +1214,7 @@ public abstract class GridDhtTransactionalCacheAdapter<K, 
V> extends GridDhtCach
      */
     @SuppressWarnings({"RedundantTypeArguments", "TypeMayBeWeakened"})
     private void processNearUnlockRequest(UUID nodeId, 
GridNearUnlockRequest<K, V> req) {
-        assert isAffinityNode(cacheCfg);
+        assert ctx.affinityNode();
         assert nodeId != null;
 
         removeLocks(nodeId, req.version(), req.keys(), true);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheAdapter.java
index c73d29f..3ab2cf0 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheAdapter.java
@@ -40,7 +40,6 @@ import java.util.*;
 
 import static org.apache.ignite.internal.processors.cache.CacheFlag.*;
 import static org.apache.ignite.internal.processors.cache.GridCachePeekMode.*;
-import static org.apache.ignite.internal.processors.cache.GridCacheUtils.*;
 
 /**
  * Common logic for near caches.
@@ -63,7 +62,7 @@ public abstract class GridNearCacheAdapter<K, V> extends 
GridDistributedCacheAda
      * @param ctx Context.
      */
     protected GridNearCacheAdapter(GridCacheContext<K, V> ctx) {
-        super(ctx, ctx.config().getNearStartSize());
+        super(ctx, ctx.config().getNearConfiguration().getNearStartSize());
     }
 
     /** {@inheritDoc} */
@@ -582,16 +581,13 @@ public abstract class GridNearCacheAdapter<K, V> extends 
GridDistributedCacheAda
 
         // Unswap only from dht(). Near cache does not have swap storage.
         // In near-only cache this is a no-op.
-        if (isAffinityNode(ctx.config()))
+        if (ctx.affinityNode())
             dht().promoteAll(keys);
     }
 
     /** {@inheritDoc} */
     @Nullable @Override public Cache.Entry<K, V> randomEntry() {
-        if (configuration().getDistributionMode() == 
CacheDistributionMode.NEAR_PARTITIONED)
-            return dht().randomEntry();
-        else
-            return super.randomEntry();
+        return ctx.affinityNode() && ctx.isNear() ? dht().randomEntry() : 
super.randomEntry();
     }
 
     /** {@inheritDoc} */
@@ -658,27 +654,22 @@ public abstract class GridNearCacheAdapter<K, V> extends 
GridDistributedCacheAda
 
     /** {@inheritDoc} */
     @Override public List<GridCacheClearAllRunnable<K, V>> splitClearLocally() 
{
-        switch (configuration().getDistributionMode()) {
-            case NEAR_PARTITIONED:
-                GridCacheVersion obsoleteVer = ctx.versions().next();
-
-                List<GridCacheClearAllRunnable<K, V>> dhtJobs = 
dht().splitClearLocally();
-
-                List<GridCacheClearAllRunnable<K, V>> res = new 
ArrayList<>(dhtJobs.size());
+        assert configuration().getNearConfiguration() != null;
 
-                for (GridCacheClearAllRunnable<K, V> dhtJob : dhtJobs)
-                    res.add(new GridNearCacheClearAllRunnable<>(this, 
obsoleteVer, dhtJob));
+        if (ctx.affinityNode()) {
+            GridCacheVersion obsoleteVer = ctx.versions().next();
 
-                return res;
+            List<GridCacheClearAllRunnable<K, V>> dhtJobs = 
dht().splitClearLocally();
 
-            case NEAR_ONLY:
-                return super.splitClearLocally();
+            List<GridCacheClearAllRunnable<K, V>> res = new 
ArrayList<>(dhtJobs.size());
 
-            default:
-                assert false : "Invalid partition distribution mode.";
+            for (GridCacheClearAllRunnable<K, V> dhtJob : dhtJobs)
+                res.add(new GridNearCacheClearAllRunnable<>(this, obsoleteVer, 
dhtJob));
 
-                return null;
+            return res;
         }
+        else
+            return super.splitClearLocally();
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java
index 1a7a568..4d44635 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java
@@ -40,7 +40,6 @@ import java.util.*;
 import java.util.concurrent.atomic.*;
 
 import static org.apache.ignite.IgniteSystemProperties.*;
-import static org.apache.ignite.internal.processors.cache.GridCacheUtils.*;
 import static org.apache.ignite.transactions.TransactionIsolation.*;
 
 /**
@@ -283,7 +282,7 @@ public final class GridNearGetFuture<K, V> extends 
GridCompoundIdentityFuture<Ma
         Collection<ClusterNode> affNodes = CU.affinityNodes(cctx, topVer);
 
         if (affNodes.isEmpty()) {
-            assert !isAffinityNode(cctx.config());
+            assert !cctx.affinityNode();
 
             onDone(new ClusterTopologyCheckedException("Failed to map keys for 
near-only cache (all partition " +
                 "nodes left the grid)."));

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
index cac086c..d84b0aa 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
@@ -1277,7 +1277,7 @@ public class GridLocalAtomicCache<K, V> extends 
GridCacheAdapter<K, V> {
                                 taskName,
                                 null);
 
-                            val = 
ctx.config().getInterceptor().onBeforePut(entry.key(), old, val);
+                            val = 
ctx.config().getInterceptor().onBeforePut(entry.key(), old, (V)val);
 
                             if (val == null)
                                 continue;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryAdapter.java
index 142b49a..6de9661 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryAdapter.java
@@ -32,7 +32,6 @@ import org.jetbrains.annotations.*;
 import javax.cache.*;
 import java.util.*;
 
-import static org.apache.ignite.cache.CacheDistributionMode.*;
 import static 
org.apache.ignite.internal.processors.cache.query.GridCacheQueryType.*;
 
 /**
@@ -467,9 +466,7 @@ public class GridCacheQueryAdapter<T> implements 
CacheQuery<T> {
                 if (prj != null)
                     return nodes(cctx, prj);
 
-                CacheDistributionMode mode = 
cctx.config().getDistributionMode();
-
-                return mode == PARTITIONED_ONLY || mode == NEAR_PARTITIONED ?
+                return cctx.affinityNode() ?
                     Collections.singletonList(cctx.localNode()) :
                     Collections.singletonList(F.rand(nodes(cctx, null)));
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
index 239b223..6d16a5c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
@@ -18,7 +18,6 @@
 package org.apache.ignite.internal.processors.cache.query.continuous;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
 import org.apache.ignite.cache.query.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.internal.processors.affinity.*;
@@ -372,12 +371,8 @@ public class CacheContinuousQueryManager<K, V> extends 
GridCacheManagerAdapter<K
                 break;
 
             case REPLICATED:
-                if (nodes.size() == 1 && 
F.first(nodes).equals(cctx.localNode())) {
-                    CacheDistributionMode distributionMode = 
cctx.config().getDistributionMode();
-
-                    if (distributionMode == PARTITIONED_ONLY || 
distributionMode == NEAR_PARTITIONED)
-                        skipPrimaryCheck = true;
-                }
+                if (nodes.size() == 1 && 
F.first(nodes).equals(cctx.localNode()))
+                    skipPrimaryCheck = cctx.affinityNode();
 
                 break;
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
index 0fa7806..9764c29 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
@@ -1400,7 +1400,7 @@ public abstract class IgniteTxAdapter<K, V> extends 
GridMetadataAwareAdapter
         if (primaryOnly) {
             ClusterNode primary = F.first(affNodes);
 
-            if (primary == null && !isAffinityNode(cacheCtx.config()))
+            if (primary == null && !cacheCtx.affinityNode())
                 return false;
 
             assert primary != null : "Primary node is null for affinity nodes: 
" + affNodes;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java
index 72bd60a..525a45b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java
@@ -272,7 +272,7 @@ public class IgfsDataManager extends IgfsManager {
      */
     public IgniteUuid nextAffinityKey(@Nullable IgniteUuid prevAffKey) {
         // Do not generate affinity key for non-affinity nodes.
-        if (!isAffinityNode(dataCache.configuration()))
+        if (!((GridCacheAdapter)dataCache).context().affinityNode())
             return null;
 
         UUID nodeId = igfsCtx.kernalContext().localNodeId();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java
index 9857065..6e75bb1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java
@@ -127,8 +127,8 @@ public class VisorCache implements Serializable {
 
         CacheMode mode = cfg.getCacheMode();
 
-        boolean partitioned = (mode == CacheMode.PARTITIONED || mode == 
CacheMode.REPLICATED)
-            && cfg.getDistributionMode() != CacheDistributionMode.CLIENT_ONLY;
+        boolean partitioned = (mode == CacheMode.PARTITIONED || mode == 
CacheMode.REPLICATED);
+//            && cfg.getDistributionMode() != 
CacheDistributionMode.CLIENT_ONLY; TODO IGNITE-45 use context.affinityNode()
 
         if (partitioned) {
             GridDhtCacheAdapter dca = null;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java
index a6ec05c..dfabe83 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java
@@ -142,7 +142,7 @@ public class VisorCacheConfiguration implements 
Serializable {
 
         cfg.name = ccfg.getName();
         cfg.mode = ccfg.getCacheMode();
-        cfg.distributionMode = ccfg.getDistributionMode();
+//        cfg.distributionMode = ccfg.getDistributionMode(); TODO IGNITE-45.
         cfg.atomicityMode = ccfg.getAtomicityMode();
         cfg.atomicWriteOrderMode = ccfg.getAtomicWriteOrderMode();
         cfg.eagerTtl = ccfg.isEagerTtl();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheEvictionConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheEvictionConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheEvictionConfiguration.java
index 4c84f8d..4b930b4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheEvictionConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheEvictionConfiguration.java
@@ -76,7 +76,7 @@ public class VisorCacheEvictionConfiguration implements 
Serializable {
         cfg.syncTimeout = ccfg.getEvictSynchronizedTimeout();
         cfg.syncKeyBufSize = ccfg.getEvictSynchronizedKeyBufferSize();
         cfg.evictSynchronized = ccfg.isEvictSynchronized();
-        cfg.nearSynchronized = ccfg.isEvictNearSynchronized();
+//        cfg.nearSynchronized = ccfg.isEvictNearSynchronized(); TODO IGNITE-45
         cfg.maxOverflowRatio = ccfg.getEvictMaxOverflowRatio();
 
         return cfg;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNearConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNearConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNearConfiguration.java
index 10db203..2a5e781 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNearConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNearConfiguration.java
@@ -53,9 +53,9 @@ public class VisorCacheNearConfiguration implements 
Serializable {
         VisorCacheNearConfiguration cfg = new VisorCacheNearConfiguration();
 
         cfg.nearEnabled = GridCacheUtils.isNearEnabled(ccfg);
-        cfg.nearStartSize = ccfg.getNearStartSize();
-        cfg.nearEvictPlc = compactClass(ccfg.getNearEvictionPolicy());
-        cfg.nearEvictMaxSize = 
evictionPolicyMaxSize(ccfg.getNearEvictionPolicy());
+//        cfg.nearStartSize = ccfg.getNearStartSize(); TODO IGNTIE-45
+//        cfg.nearEvictPlc = compactClass(ccfg.getNearEvictionPolicy());
+//        cfg.nearEvictMaxSize = 
evictionPolicyMaxSize(ccfg.getNearEvictionPolicy());
 
         return cfg;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/main/java/org/apache/ignite/startup/BasicWarmupClosure.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/startup/BasicWarmupClosure.java 
b/modules/core/src/main/java/org/apache/ignite/startup/BasicWarmupClosure.java
index bce5379..f04f0ec 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/startup/BasicWarmupClosure.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/startup/BasicWarmupClosure.java
@@ -351,11 +351,6 @@ public class BasicWarmupClosure implements 
IgniteInClosure<IgniteConfiguration>
             if (!matches(reduced, ccfg)) {
                 CacheConfiguration ccfgCp = new CacheConfiguration(ccfg);
 
-                if (ccfgCp.getDistributionMode() == 
CacheDistributionMode.CLIENT_ONLY)
-                    
ccfgCp.setDistributionMode(CacheDistributionMode.PARTITIONED_ONLY);
-                else if (ccfgCp.getDistributionMode() == 
CacheDistributionMode.NEAR_ONLY)
-                    
ccfgCp.setDistributionMode(CacheDistributionMode.NEAR_PARTITIONED);
-
                 ccfgCp.setCacheStoreFactory(null);
                 ccfgCp.setWriteBehindEnabled(false);
 
@@ -404,8 +399,7 @@ public class BasicWarmupClosure implements 
IgniteInClosure<IgniteConfiguration>
             F.eq(ccfg0.getBackups(), ccfg1.getBackups()) &&
             F.eq(ccfg0.getAtomicityMode(), ccfg1.getAtomicityMode()) &&
             F.eq(ccfg0.getAtomicWriteOrderMode(), 
ccfg1.getAtomicWriteOrderMode()) &&
-            F.eq(ccfg0.getMemoryMode(), ccfg1.getMemoryMode()) &&
-            F.eq(ccfg0.getDistributionMode(), ccfg1.getDistributionMode());
+            F.eq(ccfg0.getMemoryMode(), ccfg1.getMemoryMode());
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/IgniteCacheAffinitySelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/IgniteCacheAffinitySelfTest.java 
b/modules/core/src/test/java/org/apache/ignite/IgniteCacheAffinitySelfTest.java
index c3e76a6..c374b7e 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/IgniteCacheAffinitySelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/IgniteCacheAffinitySelfTest.java
@@ -23,16 +23,16 @@ import org.apache.ignite.cache.affinity.fair.*;
 import org.apache.ignite.cache.affinity.rendezvous.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.internal.processors.affinity.GridAffinityProcessor;
 import org.apache.ignite.internal.processors.cache.*;
 
 import java.util.*;
 
 import static org.apache.ignite.cache.CacheAtomicityMode.*;
-import static org.apache.ignite.cache.CacheDistributionMode.*;
 import static org.apache.ignite.cache.CacheMode.*;
 
 /**
- * Tests for {@link 
org.apache.ignite.internal.processors.affinity.GridAffinityProcessor.CacheAffinityProxy}.
+ * Tests for {@link GridAffinityProcessor.CacheAffinityProxy}.
  */
 public class IgniteCacheAffinitySelfTest extends IgniteCacheAbstractTest {
     /** Initial grid count. */
@@ -82,8 +82,8 @@ public class IgniteCacheAffinitySelfTest extends 
IgniteCacheAbstractTest {
     }
 
     /** {@inheritDoc} */
-    @Override protected CacheDistributionMode distributionMode() {
-        return NEAR_PARTITIONED;
+    @Override protected NearCacheConfiguration nearConfiguration() {
+        return new NearCacheConfiguration();
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/cache/affinity/fair/GridCachePartitionFairAffinityNodesSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/cache/affinity/fair/GridCachePartitionFairAffinityNodesSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/cache/affinity/fair/GridCachePartitionFairAffinityNodesSelfTest.java
index b178019..9893e70 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/cache/affinity/fair/GridCachePartitionFairAffinityNodesSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/cache/affinity/fair/GridCachePartitionFairAffinityNodesSelfTest.java
@@ -101,7 +101,7 @@ public class GridCachePartitionFairAffinityNodesSelfTest 
extends GridCommonAbstr
 
         cfg.setCacheMode(CacheMode.PARTITIONED);
 
-        cfg.setDistributionMode(CacheDistributionMode.PARTITIONED_ONLY);
+        cfg.setNearConfiguration(null);
 
         cfg.setAffinity(new CachePartitionFairAffinity(parts));
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
index 0504d55..3ab566c 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
@@ -96,7 +96,8 @@ public class GridCacheJdbcBlobStoreMultithreadedSelfTest 
extends GridCommonAbstr
         cc.setSwapEnabled(false);
         cc.setAtomicityMode(TRANSACTIONAL);
         cc.setBackups(1);
-        cc.setDistributionMode(mode);
+        // TODO IGNITE-45.
+//        cc.setDistributionMode(mode);
 
         cc.setCacheStoreFactory(new FactoryBuilder.SingletonFactory(store()));
         cc.setReadThrough(true);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/igfs/IgfsEventsAbstractSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/igfs/IgfsEventsAbstractSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/igfs/IgfsEventsAbstractSelfTest.java
index 2d9d269..658004e 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/igfs/IgfsEventsAbstractSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/igfs/IgfsEventsAbstractSelfTest.java
@@ -33,7 +33,6 @@ import java.util.*;
 import java.util.concurrent.*;
 
 import static org.apache.ignite.cache.CacheAtomicityMode.*;
-import static org.apache.ignite.cache.CacheDistributionMode.*;
 import static org.apache.ignite.cache.CacheMode.*;
 import static org.apache.ignite.cache.CacheWriteSynchronizationMode.*;
 import static org.apache.ignite.events.EventType.*;
@@ -61,7 +60,7 @@ public abstract class IgfsEventsAbstractSelfTest extends 
GridCommonAbstractTest
 
         cacheCfg.setName("dataCache");
         cacheCfg.setCacheMode(PARTITIONED);
-        cacheCfg.setDistributionMode(PARTITIONED_ONLY);
+        cacheCfg.setNearConfiguration(null);
         cacheCfg.setWriteSynchronizationMode(FULL_SYNC);
         cacheCfg.setEvictionPolicy(null);
         cacheCfg.setAffinityMapper(new IgfsGroupDataBlocksKeyMapper(128));

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/igfs/IgfsFragmentizerAbstractSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/igfs/IgfsFragmentizerAbstractSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/igfs/IgfsFragmentizerAbstractSelfTest.java
index 3fa0804..e827fd0 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/igfs/IgfsFragmentizerAbstractSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/igfs/IgfsFragmentizerAbstractSelfTest.java
@@ -112,7 +112,7 @@ public class IgfsFragmentizerAbstractSelfTest extends 
IgfsCommonAbstractTest {
         cfg.setCacheMode(PARTITIONED);
         cfg.setBackups(0);
         cfg.setAffinityMapper(new 
IgfsGroupDataBlocksKeyMapper(IGFS_GROUP_SIZE));
-        cfg.setDistributionMode(CacheDistributionMode.PARTITIONED_ONLY);
+        cfg.setNearConfiguration(null);
         
cfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
         cfg.setQueryIndexEnabled(false);
         cfg.setAtomicityMode(TRANSACTIONAL);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/internal/GridProjectionForCachesSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/GridProjectionForCachesSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/GridProjectionForCachesSelfTest.java
index 22dc618..ae18a30 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/GridProjectionForCachesSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/GridProjectionForCachesSelfTest.java
@@ -52,15 +52,16 @@ public class GridProjectionForCachesSelfTest extends 
GridCommonAbstractTest {
 
         cfg.setDiscoverySpi(discoverySpi());
 
-        if (gridName.equals(getTestGridName(0)))
-            cfg.setCacheConfiguration(cacheConfiguration(null, 
CacheDistributionMode.PARTITIONED_ONLY));
-        else if (gridName.equals(getTestGridName(1)))
-            cfg.setCacheConfiguration(cacheConfiguration(CACHE_NAME, 
CacheDistributionMode.NEAR_ONLY));
-        else if (gridName.equals(getTestGridName(2)) || 
gridName.equals(getTestGridName(3)))
-            cfg.setCacheConfiguration(cacheConfiguration(null, 
CacheDistributionMode.CLIENT_ONLY),
-                cacheConfiguration(CACHE_NAME, 
CacheDistributionMode.NEAR_PARTITIONED));
-        else
-            cfg.setCacheConfiguration();
+        // TODO IGNITE-45.
+//        if (gridName.equals(getTestGridName(0)))
+//            cfg.setCacheConfiguration(cacheConfiguration(null, 
CacheDistributionMode.PARTITIONED_ONLY));
+//        else if (gridName.equals(getTestGridName(1)))
+//            cfg.setCacheConfiguration(cacheConfiguration(CACHE_NAME, 
CacheDistributionMode.NEAR_ONLY));
+//        else if (gridName.equals(getTestGridName(2)) || 
gridName.equals(getTestGridName(3)))
+//            cfg.setCacheConfiguration(cacheConfiguration(null, 
CacheDistributionMode.CLIENT_ONLY),
+//                cacheConfiguration(CACHE_NAME, 
CacheDistributionMode.NEAR_PARTITIONED));
+//        else
+//            cfg.setCacheConfiguration();
 
         return cfg;
     }
@@ -80,14 +81,12 @@ public class GridProjectionForCachesSelfTest extends 
GridCommonAbstractTest {
      * @param cacheName Cache name.
      * @return Cache configuration.
      */
-    private CacheConfiguration cacheConfiguration(@Nullable String cacheName, 
CacheDistributionMode distributionMode) {
+    private CacheConfiguration cacheConfiguration(@Nullable String cacheName) {
         CacheConfiguration cfg = defaultCacheConfiguration();
 
         cfg.setName(cacheName);
         cfg.setCacheMode(PARTITIONED);
 
-        cfg.setDistributionMode(distributionMode);
-
         cfg.setBackups(1);
 
         return cfg;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerAliveCacheSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerAliveCacheSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerAliveCacheSelfTest.java
index 433f9fa..7de6405 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerAliveCacheSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerAliveCacheSelfTest.java
@@ -33,7 +33,6 @@ import org.apache.ignite.testframework.junits.common.*;
 import java.util.*;
 import java.util.concurrent.*;
 
-import static org.apache.ignite.cache.CacheDistributionMode.*;
 import static org.apache.ignite.cache.CacheMode.*;
 import static org.apache.ignite.cache.CachePreloadMode.*;
 import static org.apache.ignite.cache.CacheWriteSynchronizationMode.*;
@@ -82,7 +81,7 @@ public class GridDiscoveryManagerAliveCacheSelfTest extends 
GridCommonAbstractTe
 
         cCfg.setCacheMode(PARTITIONED);
         cCfg.setBackups(1);
-        cCfg.setDistributionMode(NEAR_PARTITIONED);
+        cCfg.setNearConfiguration(new NearCacheConfiguration());
         cCfg.setPreloadMode(SYNC);
         cCfg.setQueryIndexEnabled(false);
         cCfg.setWriteSynchronizationMode(FULL_SYNC);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerSelfTest.java
index 90c3af6..b3da9fc 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerSelfTest.java
@@ -77,8 +77,9 @@ public class GridDiscoveryManagerSelfTest extends 
GridCommonAbstractTest {
         ccfg1.setCacheMode(PARTITIONED);
         ccfg2.setCacheMode(PARTITIONED);
 
-        ccfg1.setDistributionMode(distrMode);
-        ccfg2.setDistributionMode(distrMode);
+        // TODO IGNITE-45.
+//        ccfg1.setDistributionMode(distrMode);
+//        ccfg2.setDistributionMode(distrMode);
 
         cfg.setCacheConfiguration(ccfg1, ccfg2);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
index 9ba9b9e..5d666bf 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
@@ -2551,9 +2551,9 @@ public abstract class GridCacheAbstractFullApiSelfTest 
extends GridCacheAbstract
     public void testRemoveAfterClear() throws Exception {
         IgniteEx ignite = grid(0);
 
-        CacheDistributionMode distroMode = 
ignite.jcache(null).getConfiguration(CacheConfiguration.class).getDistributionMode();
+        boolean affNode = 
((IgniteKernal)ignite).context().cache().internalCache(null).context().affinityNode();
 
-        if (distroMode == CacheDistributionMode.NEAR_ONLY || distroMode == 
CacheDistributionMode.CLIENT_ONLY) {
+        if (!affNode) {
             if (gridCount() < 2)
                 return;
 
@@ -3437,7 +3437,7 @@ public abstract class GridCacheAbstractFullApiSelfTest 
extends GridCacheAbstract
 
         Collection<String> locKeys = new HashSet<>();
 
-        if (CU.isAffinityNode(cache.configuration())) {
+        if (cache.affinityNode()) {
             locKeys.addAll(cache.primaryKeySet());
 
             info("Local keys (primary): " + locKeys);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractLocalStoreSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractLocalStoreSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractLocalStoreSelfTest.java
index c43b8f8..b4adbf4 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractLocalStoreSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractLocalStoreSelfTest.java
@@ -119,7 +119,7 @@ public abstract class GridCacheAbstractLocalStoreSelfTest 
extends GridCommonAbst
         cacheCfg.setName(cacheName);
         cacheCfg.setCacheMode(getCacheMode());
         cacheCfg.setAtomicityMode(getAtomicMode());
-        cacheCfg.setDistributionMode(getDistributionMode());
+        cacheCfg.setNearConfiguration(nearConfiguration());
         cacheCfg.setWriteSynchronizationMode(FULL_SYNC);
         cacheCfg.setPreloadMode(SYNC);
 
@@ -145,7 +145,7 @@ public abstract class GridCacheAbstractLocalStoreSelfTest 
extends GridCommonAbst
     /**
      * @return Distribution mode.
      */
-    protected abstract CacheDistributionMode getDistributionMode();
+    protected abstract NearCacheConfiguration nearConfiguration();
 
     /**
      * @return Cache atomicity mode.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractSelfTest.java
index b0ca176..cfe4fdc 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractSelfTest.java
@@ -251,7 +251,7 @@ public abstract class GridCacheAbstractSelfTest extends 
GridCommonAbstractTest {
         cfg.setCacheMode(cacheMode());
         cfg.setAtomicityMode(atomicityMode());
         cfg.setWriteSynchronizationMode(writeSynchronization());
-        cfg.setDistributionMode(distributionMode());
+        cfg.setNearConfiguration(nearConfiguration());
 
         if (cacheMode() == PARTITIONED)
             cfg.setBackups(1);
@@ -276,8 +276,8 @@ public abstract class GridCacheAbstractSelfTest extends 
GridCommonAbstractTest {
     /**
      * @return Partitioned mode.
      */
-    protected CacheDistributionMode distributionMode() {
-        return NEAR_PARTITIONED;
+    protected NearCacheConfiguration nearConfiguration() {
+        return new NearCacheConfiguration();
     }
 
     /**
@@ -323,7 +323,7 @@ public abstract class GridCacheAbstractSelfTest extends 
GridCommonAbstractTest {
      * @return {@code true} if near cache should be enabled.
      */
     protected boolean nearEnabled() {
-        return distributionMode() == NEAR_ONLY || distributionMode() == 
NEAR_PARTITIONED;
+        return nearConfiguration() != null;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractUsersAffinityMapperSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractUsersAffinityMapperSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractUsersAffinityMapperSelfTest.java
index 71f28ce..f7f05d6 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractUsersAffinityMapperSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractUsersAffinityMapperSelfTest.java
@@ -44,7 +44,7 @@ public abstract class 
GridCacheAbstractUsersAffinityMapperSelfTest extends GridC
     public static final CacheAffinityKeyMapper AFFINITY_MAPPER = new 
UsersAffinityKeyMapper();
 
     /** */
-    public GridCacheAbstractUsersAffinityMapperSelfTest() {
+    protected GridCacheAbstractUsersAffinityMapperSelfTest() {
         super(false /* doesn't start grid */);
     }
 
@@ -64,7 +64,7 @@ public abstract class 
GridCacheAbstractUsersAffinityMapperSelfTest extends GridC
         cacheCfg.setName(null);
         cacheCfg.setCacheMode(getCacheMode());
         cacheCfg.setAtomicityMode(getAtomicMode());
-        cacheCfg.setDistributionMode(getDistributionMode());
+        cacheCfg.setNearConfiguration(nearConfiguration());
         
cacheCfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
         cacheCfg.setPreloadMode(CachePreloadMode.SYNC);
         cacheCfg.setAffinityMapper(AFFINITY_MAPPER);
@@ -83,7 +83,7 @@ public abstract class 
GridCacheAbstractUsersAffinityMapperSelfTest extends GridC
     /**
      * @return Distribution mode.
      */
-    protected abstract CacheDistributionMode getDistributionMode();
+    protected abstract NearCacheConfiguration nearConfiguration();
 
     /**
      * @return Cache atomicity mode.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicMessageCountSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicMessageCountSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicMessageCountSelfTest.java
index d5855b5..7612e27 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicMessageCountSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicMessageCountSelfTest.java
@@ -70,13 +70,14 @@ public class GridCacheAtomicMessageCountSelfTest extends 
GridCommonAbstractTest
         cCfg.setCacheMode(PARTITIONED);
         cCfg.setBackups(1);
         cCfg.setWriteSynchronizationMode(FULL_SYNC);
-        cCfg.setDistributionMode(partDistMode);
+        // TODO IGNITE-45
+//        cCfg.setDistributionMode(partDistMode);
         cCfg.setAtomicWriteOrderMode(writeOrderMode);
 
-        if (idx == 0)
-            cCfg.setDistributionMode(partDistMode);
-        else
-            cCfg.setDistributionMode(PARTITIONED_ONLY);
+//        if (idx == 0)
+//            cCfg.setDistributionMode(partDistMode);
+//        else
+//            cCfg.setDistributionMode(PARTITIONED_ONLY);
 
         idx++;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicUsersAffinityMapperSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicUsersAffinityMapperSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicUsersAffinityMapperSelfTest.java
index 8a80e35..ad20fa2 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicUsersAffinityMapperSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicUsersAffinityMapperSelfTest.java
@@ -18,20 +18,16 @@
 package org.apache.ignite.internal.processors.cache;
 
 import org.apache.ignite.cache.*;
+import org.apache.ignite.configuration.*;
 
 /**
  * Test affinity mapper.
  */
 public class GridCacheAtomicUsersAffinityMapperSelfTest extends 
GridCacheAbstractUsersAffinityMapperSelfTest {
-    /** */
-    public GridCacheAtomicUsersAffinityMapperSelfTest() {
-        super();
-    }
-
     /** {@inheritDoc} */
-    @Override protected CacheDistributionMode getDistributionMode() {
-        return CacheDistributionMode.PARTITIONED_ONLY;
-    };
+    @Override protected NearCacheConfiguration nearConfiguration() {
+        return null;
+    }
 
     /** {@inheritDoc} */
     @Override protected CacheAtomicityMode getAtomicMode() {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheBasicStoreAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheBasicStoreAbstractTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheBasicStoreAbstractTest.java
index b80b201..9b32b69 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheBasicStoreAbstractTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheBasicStoreAbstractTest.java
@@ -88,7 +88,6 @@ public abstract class GridCacheBasicStoreAbstractTest extends 
GridCommonAbstract
         cc.setWriteSynchronizationMode(FULL_SYNC);
         cc.setSwapEnabled(false);
         cc.setAtomicityMode(atomicityMode());
-        cc.setDistributionMode(distributionMode());
         cc.setPreloadMode(SYNC);
 
         cc.setCacheStoreFactory(new FactoryBuilder.SingletonFactory(store));
@@ -102,13 +101,6 @@ public abstract class GridCacheBasicStoreAbstractTest 
extends GridCommonAbstract
     }
 
     /**
-     * @return Distribution mode.
-     */
-    protected CacheDistributionMode distributionMode() {
-        return NEAR_PARTITIONED;
-    }
-
-    /**
      * @return Cache atomicity mode.
      */
     protected CacheAtomicityMode atomicityMode() {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearAllSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearAllSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearAllSelfTest.java
index 511756d..0aa6a91 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearAllSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearAllSelfTest.java
@@ -26,7 +26,6 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
 import org.apache.ignite.testframework.junits.common.*;
 
 import static org.apache.ignite.cache.CacheAtomicityMode.*;
-import static org.apache.ignite.cache.CacheDistributionMode.*;
 import static org.apache.ignite.cache.CacheMode.*;
 
 /**
@@ -67,7 +66,6 @@ public class GridCacheClearAllSelfTest extends 
GridCommonAbstractTest {
         ccfg.setName(cacheName);
         ccfg.setCacheMode(cacheMode);
         ccfg.setAtomicityMode(TRANSACTIONAL);
-        ccfg.setDistributionMode(NEAR_PARTITIONED);
 
         if (cacheMode == PARTITIONED)
             ccfg.setBackups(1);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearLocalySelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearLocalySelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearLocalySelfTest.java
index 33b564d..69d6c4f 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearLocalySelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearLocalySelfTest.java
@@ -86,8 +86,9 @@ public class GridCacheClearLocalySelfTest extends 
GridCommonAbstractTest {
         ccfgPartitioned.setCacheMode(PARTITIONED);
         ccfgPartitioned.setBackups(1);
         ccfgPartitioned.setWriteSynchronizationMode(FULL_SYNC);
-        
ccfgPartitioned.setDistributionMode(gridName.equals(getTestGridName(0)) ? 
NEAR_PARTITIONED :
-            gridName.equals(getTestGridName(1)) ? NEAR_ONLY : CLIENT_ONLY);
+        // TODO IGNITE-45.
+//        
ccfgPartitioned.setDistributionMode(gridName.equals(getTestGridName(0)) ? 
NEAR_PARTITIONED :
+//            gridName.equals(getTestGridName(1)) ? NEAR_ONLY : CLIENT_ONLY);
         ccfgPartitioned.setAtomicityMode(TRANSACTIONAL);
 
         CacheConfiguration ccfgColocated = new CacheConfiguration();
@@ -96,7 +97,7 @@ public class GridCacheClearLocalySelfTest extends 
GridCommonAbstractTest {
         ccfgColocated.setCacheMode(PARTITIONED);
         ccfgColocated.setBackups(1);
         ccfgColocated.setWriteSynchronizationMode(FULL_SYNC);
-        ccfgColocated.setDistributionMode(PARTITIONED_ONLY);
+//        ccfgColocated.setDistributionMode(PARTITIONED_ONLY);
         ccfgColocated.setAtomicityMode(TRANSACTIONAL);
 
         CacheConfiguration ccfgReplicated = new CacheConfiguration();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheColocatedTxStoreExceptionSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheColocatedTxStoreExceptionSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheColocatedTxStoreExceptionSelfTest.java
index 2628d6c..8bf39b2 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheColocatedTxStoreExceptionSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheColocatedTxStoreExceptionSelfTest.java
@@ -18,8 +18,8 @@
 package org.apache.ignite.internal.processors.cache;
 
 import org.apache.ignite.cache.*;
+import org.apache.ignite.configuration.*;
 
-import static org.apache.ignite.cache.CacheDistributionMode.*;
 import static org.apache.ignite.cache.CacheMode.*;
 
 /**
@@ -32,7 +32,7 @@ public class GridCacheColocatedTxStoreExceptionSelfTest 
extends IgniteTxStoreExc
     }
 
     /** {@inheritDoc} */
-    @Override protected CacheDistributionMode distributionMode() {
-        return PARTITIONED_ONLY;
+    @Override protected NearCacheConfiguration nearConfiguration() {
+        return null;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
index 06904e5..92ee312 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
@@ -45,7 +45,6 @@ import java.util.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.cache.CacheDistributionMode.*;
 import static org.apache.ignite.cache.CacheMode.*;
 import static org.apache.ignite.cache.CachePreloadMode.*;
 import static org.apache.ignite.cache.CacheWriteSynchronizationMode.*;
@@ -111,10 +110,8 @@ public class GridCacheConcurrentTxMultiNodeTest extends 
GridCommonAbstractTest {
             CacheConfiguration cc = defaultCacheConfiguration();
 
             cc.setCacheMode(mode);
-            cc.setDistributionMode(PARTITIONED_ONLY);
             cc.setEvictionPolicy(new CacheLruEvictionPolicy(1000));
             cc.setEvictSynchronized(false);
-            cc.setEvictNearSynchronized(false);
             cc.setSwapEnabled(false);
             cc.setWriteSynchronizationMode(FULL_SYNC);
             cc.setPreloadMode(NONE);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConfigurationConsistencySelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConfigurationConsistencySelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConfigurationConsistencySelfTest.java
index 0fb638d..16ebacd 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConfigurationConsistencySelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConfigurationConsistencySelfTest.java
@@ -46,7 +46,6 @@ import java.util.*;
 import java.util.concurrent.*;
 
 import static org.apache.ignite.cache.CacheAtomicityMode.*;
-import static org.apache.ignite.cache.CacheDistributionMode.*;
 import static org.apache.ignite.cache.CacheMode.*;
 import static org.apache.ignite.cache.CachePreloadMode.*;
 import static org.apache.ignite.cache.CacheWriteSynchronizationMode.*;
@@ -308,7 +307,8 @@ public class GridCacheConfigurationConsistencySelfTest 
extends GridCommonAbstrac
             new C1<CacheConfiguration, Void>() {
                 /** {@inheritDoc} */
                 @Override public Void apply(CacheConfiguration cfg) {
-                    cfg.setAffinity(new CacheRendezvousAffinityFunction() 
{/*No-op.*/});
+                    cfg.setAffinity(new CacheRendezvousAffinityFunction() 
{/*No-op.*/
+                    });
                     return null;
                 }
             },
@@ -469,34 +469,6 @@ public class GridCacheConfigurationConsistencySelfTest 
extends GridCommonAbstrac
     /**
      * @throws Exception If failed.
      */
-    public void testDifferentEvictNearSynchronized() throws Exception {
-        cacheMode = PARTITIONED;
-
-        checkSecondGridStartFails(
-            new C1<CacheConfiguration, Void>() {
-                /** {@inheritDoc} */
-                @SuppressWarnings("deprecation")
-                @Override public Void apply(CacheConfiguration cfg) {
-                    cfg.setDistributionMode(NEAR_PARTITIONED);
-                    cfg.setEvictNearSynchronized(true);
-                    return null;
-                }
-            },
-            new C1<CacheConfiguration, Void>() {
-                /** {@inheritDoc} */
-                @SuppressWarnings("deprecation")
-                @Override public Void apply(CacheConfiguration cfg) {
-                    cfg.setDistributionMode(NEAR_PARTITIONED);
-                    cfg.setEvictNearSynchronized(false);
-                    return null;
-                }
-            }
-        );
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
     public void testDifferentAtomicity() throws Exception {
         cacheMode = PARTITIONED;
 
@@ -504,7 +476,7 @@ public class GridCacheConfigurationConsistencySelfTest 
extends GridCommonAbstrac
             new C1<CacheConfiguration, Void>() {
                 /** {@inheritDoc} */
                 @Override public Void apply(CacheConfiguration cfg) {
-                    cfg.setDistributionMode(PARTITIONED_ONLY);
+                    cfg.setNearConfiguration(null);
                     cfg.setAtomicityMode(ATOMIC);
                     return null;
                 }
@@ -512,7 +484,7 @@ public class GridCacheConfigurationConsistencySelfTest 
extends GridCommonAbstrac
             new C1<CacheConfiguration, Void>() {
                 /** {@inheritDoc} */
                 @Override public Void apply(CacheConfiguration cfg) {
-                    cfg.setDistributionMode(PARTITIONED_ONLY);
+                    cfg.setNearConfiguration(null);
                     cfg.setAtomicityMode(TRANSACTIONAL);
                     return null;
                 }
@@ -674,8 +646,12 @@ public class GridCacheConfigurationConsistencySelfTest 
extends GridCommonAbstrac
 
         initCache = new C1<CacheConfiguration, Void>() {
             @Override public Void apply(CacheConfiguration cfg) {
-                cfg.setEvictNearSynchronized(true);
-                cfg.setNearEvictionPolicy(new CacheRandomEvictionPolicy());
+                NearCacheConfiguration nearCfg = new NearCacheConfiguration();
+
+                nearCfg.setNearEvictionPolicy(new CacheRandomEvictionPolicy());
+
+                cfg.setNearConfiguration(nearCfg);
+
                 return null;
             }
         };
@@ -684,8 +660,12 @@ public class GridCacheConfigurationConsistencySelfTest 
extends GridCommonAbstrac
 
         initCache = new C1<CacheConfiguration, Void>() {
             @Override public Void apply(CacheConfiguration cfg) {
-                cfg.setEvictNearSynchronized(false);
-                cfg.setNearEvictionPolicy(new CacheFifoEvictionPolicy());
+                NearCacheConfiguration nearCfg = new NearCacheConfiguration();
+
+                nearCfg.setNearEvictionPolicy(new CacheFifoEvictionPolicy());
+
+                cfg.setNearConfiguration(nearCfg);
+
                 return null;
             }
         };
@@ -749,7 +729,7 @@ public class GridCacheConfigurationConsistencySelfTest 
extends GridCommonAbstrac
             @Override public Void apply(CacheConfiguration cc) {
                 cc.setAtomicityMode(ATOMIC);
 
-                cc.setDistributionMode(PARTITIONED_ONLY);
+                cc.setNearConfiguration(null);
 
                 cc.setCacheStoreFactory(new 
FactoryBuilder.SingletonFactory(new TestStore()));
                 cc.setReadThrough(true);
@@ -765,7 +745,8 @@ public class GridCacheConfigurationConsistencySelfTest 
extends GridCommonAbstrac
         initCache = new C1<CacheConfiguration, Void>() {
             @Override public Void apply(CacheConfiguration cc) {
                 cc.setAtomicityMode(ATOMIC);
-                cc.setDistributionMode(CLIENT_ONLY);
+                // TODO IGNITE-45.
+//                cc.setDistributionMode(CLIENT_ONLY);
                 cc.setCacheStoreFactory(null);
 
                 return null;
@@ -788,7 +769,7 @@ public class GridCacheConfigurationConsistencySelfTest 
extends GridCommonAbstrac
             @Override public Void apply(CacheConfiguration cc) {
                 cc.setAtomicityMode(ATOMIC);
 
-                cc.setDistributionMode(PARTITIONED_ONLY);
+                cc.setNearConfiguration(null);
 
                 cc.setCacheStoreFactory(new 
FactoryBuilder.SingletonFactory(new TestStore()));
                 cc.setReadThrough(true);
@@ -804,7 +785,7 @@ public class GridCacheConfigurationConsistencySelfTest 
extends GridCommonAbstrac
         initCache = new C1<CacheConfiguration, Void>() {
             @Override public Void apply(CacheConfiguration cc) {
                 cc.setAtomicityMode(ATOMIC);
-                cc.setDistributionMode(PARTITIONED_ONLY);
+                cc.setNearConfiguration(null);
                 cc.setCacheStoreFactory(null);
 
                 return null;
@@ -833,7 +814,7 @@ public class GridCacheConfigurationConsistencySelfTest 
extends GridCommonAbstrac
             @Override public Void apply(CacheConfiguration cc) {
                 cc.setAtomicityMode(TRANSACTIONAL);
 
-                cc.setDistributionMode(PARTITIONED_ONLY);
+                cc.setNearConfiguration(null);
 
                 cc.setCacheStoreFactory(new 
FactoryBuilder.SingletonFactory(new TestStore()));
                 cc.setReadThrough(true);
@@ -850,7 +831,7 @@ public class GridCacheConfigurationConsistencySelfTest 
extends GridCommonAbstrac
             @Override public Void apply(CacheConfiguration cc) {
                 cc.setAtomicityMode(TRANSACTIONAL);
 
-                cc.setDistributionMode(PARTITIONED_ONLY);
+                cc.setNearConfiguration(null);
 
                 cc.setCacheStoreFactory(null);
 
@@ -880,7 +861,7 @@ public class GridCacheConfigurationConsistencySelfTest 
extends GridCommonAbstrac
             @Override public Void apply(CacheConfiguration cc) {
                 cc.setAtomicityMode(TRANSACTIONAL);
 
-                cc.setDistributionMode(PARTITIONED_ONLY);
+                cc.setNearConfiguration(null);
 
                 cc.setCacheStoreFactory(new 
FactoryBuilder.SingletonFactory(new TestStore()));
                 cc.setReadThrough(true);
@@ -897,7 +878,8 @@ public class GridCacheConfigurationConsistencySelfTest 
extends GridCommonAbstrac
             @Override public Void apply(CacheConfiguration cc) {
                 cc.setAtomicityMode(TRANSACTIONAL);
 
-                cc.setDistributionMode(CLIENT_ONLY);
+                // TODO IGNITE-45
+//                cc.setDistributionMode(CLIENT_ONLY);
 
                 cc.setCacheStoreFactory(null);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
index 24d23fb..4707dce 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
@@ -30,7 +30,6 @@ import org.apache.ignite.transactions.*;
 import java.util.*;
 
 import static org.apache.ignite.cache.CacheAtomicityMode.*;
-import static org.apache.ignite.cache.CacheDistributionMode.*;
 import static org.apache.ignite.cache.CacheMode.*;
 import static org.apache.ignite.transactions.TransactionConcurrency.*;
 import static org.apache.ignite.transactions.TransactionIsolation.*;
@@ -70,7 +69,7 @@ public abstract class GridCacheDaemonNodeAbstractSelfTest 
extends GridCommonAbst
 
         cc.setCacheMode(cacheMode());
         cc.setAtomicityMode(TRANSACTIONAL);
-        cc.setDistributionMode(NEAR_PARTITIONED);
+        cc.setNearConfiguration(new NearCacheConfiguration());
 
         c.setCacheConfiguration(cc);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/52e4a96c/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentOffHeapSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentOffHeapSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentOffHeapSelfTest.java
index c0f136e..1c609eb 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentOffHeapSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentOffHeapSelfTest.java
@@ -20,7 +20,6 @@ package org.apache.ignite.internal.processors.cache;
 import org.apache.ignite.configuration.*;
 
 import static org.apache.ignite.cache.CacheAtomicityMode.*;
-import static org.apache.ignite.cache.CacheDistributionMode.*;
 import static org.apache.ignite.cache.CacheMemoryMode.*;
 
 /**
@@ -35,7 +34,7 @@ public class GridCacheDeploymentOffHeapSelfTest extends 
GridCacheDeploymentSelfT
         cacheCfg.setMemoryMode(OFFHEAP_VALUES);
         cacheCfg.setOffHeapMaxMemory(0);
         cacheCfg.setAtomicityMode(TRANSACTIONAL);
-        cacheCfg.setDistributionMode(NEAR_PARTITIONED);
+        cacheCfg.setNearConfiguration(new NearCacheConfiguration());
 
         return cacheCfg;
     }

Reply via email to