Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-560 edaca38fc -> 686508342


# ignite-668


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/cd7f1a90
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/cd7f1a90
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/cd7f1a90

Branch: refs/heads/ignite-560
Commit: cd7f1a9003b76081f706faa6050f1af80ea70dc2
Parents: 6c3f101
Author: sboikov <sboi...@gridgain.com>
Authored: Fri Apr 3 11:35:11 2015 +0300
Committer: sboikov <sboi...@gridgain.com>
Committed: Fri Apr 3 12:38:28 2015 +0300

----------------------------------------------------------------------
 .../internal/processors/cache/CacheType.java    |  77 ++++++++++
 .../cache/DynamicCacheChangeRequest.java        |  17 +++
 .../cache/DynamicCacheDescriptor.java           |  15 +-
 .../processors/cache/GridCacheAdapter.java      |   6 +-
 .../processors/cache/GridCacheContext.java      |  26 ++--
 .../cache/GridCacheDeploymentManager.java       |   2 +-
 .../processors/cache/GridCacheEventManager.java |   4 +-
 .../processors/cache/GridCacheProcessor.java    | 127 +++++++++++------
 .../cache/GridCacheSharedContext.java           |   4 +-
 .../dht/GridDhtTransactionalCacheAdapter.java   |   4 +-
 .../near/GridNearTransactionalCache.java        |   2 +-
 .../continuous/CacheContinuousQueryManager.java |   2 +-
 .../transactions/IgniteTransactionsImpl.java    |  19 ++-
 .../transactions/IgniteTxLocalAdapter.java      |   2 +-
 .../cache/transactions/IgniteTxManager.java     |   8 +-
 .../cache/IgniteDynamicCacheStartSelfTest.java  |  47 +++----
 .../cache/IgniteInternalCacheTypesTest.java     | 132 +++++++++++++++++
 .../IgniteCacheSystemTransactionsSelfTest.java  |   3 +-
 .../processors/igfs/IgfsStartCacheTest.java     | 140 +++++++++++++++++++
 .../processors/igfs/IgsfStartCacheTest.java     | 115 ---------------
 .../loadtests/hashmap/GridCacheTestContext.java |   1 +
 .../ignite/testsuites/IgniteCacheTestSuite.java |   2 +
 .../ignite/testsuites/IgniteIgfsTestSuite.java  |   2 +
 23 files changed, 544 insertions(+), 213 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheType.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheType.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheType.java
new file mode 100644
index 0000000..e0747b9
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheType.java
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.cache;
+
+import org.apache.ignite.internal.managers.communication.*;
+
+import static org.apache.ignite.internal.managers.communication.GridIoPolicy.*;
+
+/**
+ *
+ */
+public enum CacheType {
+    /**
+     * Regular cache created by user, visible via public API (e.g. {@link 
org.apache.ignite.Ignite#cache(String)}).
+     */
+    USER(true, SYSTEM_POOL),
+
+    /**
+     * Internal cache, should not be visible via public API (caches used by 
IGFS, Hadoop, data structures).
+     */
+    INTERNAL(false, SYSTEM_POOL),
+
+    /**
+     * Internal replicated cache, should use separate thread pool.
+     */
+    UTILITY(false, UTILITY_CACHE_POOL),
+
+    /**
+     * Internal marshaller cache, should use separate thread pool.
+     */
+    MARSHALLER(false, MARSH_CACHE_POOL);
+
+    /** */
+    private final boolean userCache;
+
+    /** */
+    private final GridIoPolicy ioPlc;
+
+    /**
+     * @param userCache {@code True} if cache created by user.
+     * @param ioPlc Cache IO policy.
+     */
+    CacheType(boolean userCache, GridIoPolicy ioPlc) {
+        this.userCache = userCache;
+        this.ioPlc = ioPlc;
+    }
+
+    /**
+     * @return Cache IO policy.
+     */
+    public GridIoPolicy ioPolicy() {
+        return ioPlc;
+    }
+
+    /**
+     * @return {@code True} if cache created by user.
+     */
+    public boolean userCache() {
+        return userCache;
+    }
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeRequest.java
index 830078c..f7c8769 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeRequest.java
@@ -42,6 +42,9 @@ public class DynamicCacheChangeRequest implements 
Serializable {
     /** Cache start configuration. */
     private CacheConfiguration startCfg;
 
+    /** Cache type. */
+    private CacheType cacheType;
+
     /** Near node ID in case if near cache is being started. */
     private UUID initiatingNodeId;
 
@@ -159,6 +162,20 @@ public class DynamicCacheChangeRequest implements 
Serializable {
     }
 
     /**
+     * @param cacheType Cache type.
+     */
+    public void cacheType(CacheType cacheType) {
+        this.cacheType = cacheType;
+    }
+
+    /**
+     * @return Cache type.
+     */
+    public CacheType cacheType() {
+        return cacheType;
+    }
+
+    /**
      * @return Client start only.
      */
     public boolean clientStartOnly() {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
index 8c9ed16..4f07658 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
@@ -47,18 +47,31 @@ public class DynamicCacheDescriptor {
     /** Started flag. */
     private boolean started;
 
+    /** Cache type. */
+    private CacheType cacheType;
+
     /** */
     private volatile Map<UUID, CacheConfiguration> rmtCfgs;
 
     /**
      * @param cacheCfg Cache configuration.
+     * @param cacheType Cache type.
+     * @param deploymentId Deployment ID.
      */
-    public DynamicCacheDescriptor(CacheConfiguration cacheCfg, IgniteUuid 
deploymentId) {
+    public DynamicCacheDescriptor(CacheConfiguration cacheCfg, CacheType 
cacheType, IgniteUuid deploymentId) {
         this.cacheCfg = cacheCfg;
+        this.cacheType = cacheType;
         this.deploymentId = deploymentId;
     }
 
     /**
+     * @return Cache type.
+     */
+    public CacheType cacheType() {
+        return cacheType;
+    }
+
+    /**
      * @return Start ID.
      */
     public IgniteUuid deploymentId() {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index 64d8794..d6da425 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@ -2015,7 +2015,7 @@ public abstract class GridCacheAdapter<K, V> implements 
GridCache<K, V>,
                 return new GridFinishedFuture<>(e);
             }
 
-            tx = ctx.tm().threadLocalTx(ctx.system() ? ctx : null);
+            tx = ctx.tm().threadLocalTx(ctx.systemTx() ? ctx : null);
         }
 
         if (tx == null || tx.implicit()) {
@@ -4368,7 +4368,7 @@ public abstract class GridCacheAdapter<K, V> implements 
GridCache<K, V>,
             tx = ctx.tm().newTx(
                 true,
                 op.single(),
-                ctx.system() ? ctx : null,
+                ctx.systemTx() ? ctx : null,
                 OPTIMISTIC,
                 READ_COMMITTED,
                 tCfg.getDefaultTxTimeout(),
@@ -4439,7 +4439,7 @@ public abstract class GridCacheAdapter<K, V> implements 
GridCache<K, V>,
             tx = ctx.tm().newTx(
                 true,
                 op.single(),
-                ctx.system() ? ctx : null,
+                ctx.systemTx() ? ctx : null,
                 OPTIMISTIC,
                 READ_COMMITTED,
                 
ctx.kernalContext().config().getTransactionConfiguration().getDefaultTxTimeout(),

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
index dfa82e6..748a3a1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
@@ -166,8 +166,8 @@ public class GridCacheContext<K, V> implements 
Externalizable {
     /** Cache ID. */
     private int cacheId;
 
-    /** System cache flag. */
-    private boolean sys;
+    /** Cache type. */
+    private CacheType cacheType;
 
     /** IO policy. */
     private GridIoPolicy plc;
@@ -207,6 +207,8 @@ public class GridCacheContext<K, V> implements 
Externalizable {
      * @param ctx Kernal context.
      * @param sharedCtx Cache shared context.
      * @param cacheCfg Cache configuration.
+     * @param cacheType Cache type.
+     * @param affNode {@code True} if local node is affinity node.
      * @param evtMgr Cache event manager.
      * @param swapMgr Cache swap manager.
      * @param storeMgr Store manager.
@@ -218,6 +220,7 @@ public class GridCacheContext<K, V> implements 
Externalizable {
      * @param ttlMgr TTL manager.
      * @param drMgr Data center replication manager.
      * @param jtaMgr JTA manager.
+     * @param rslvrMgr Conflict resolution manager.
      * @param pluginMgr Cache plugin manager.
      */
     @SuppressWarnings({"unchecked"})
@@ -225,6 +228,7 @@ public class GridCacheContext<K, V> implements 
Externalizable {
         GridKernalContext ctx,
         GridCacheSharedContext sharedCtx,
         CacheConfiguration cacheCfg,
+        CacheType cacheType,
         boolean affNode,
 
         /*
@@ -265,6 +269,7 @@ public class GridCacheContext<K, V> implements 
Externalizable {
         this.ctx = ctx;
         this.sharedCtx = sharedCtx;
         this.cacheCfg = cacheCfg;
+        this.cacheType = cacheType;
         this.affNode = affNode;
 
         /*
@@ -297,9 +302,7 @@ public class GridCacheContext<K, V> implements 
Externalizable {
 
         cacheId = CU.cacheId(cacheName);
 
-        sys = ctx.cache().systemCache(cacheName);
-
-        plc = CU.isMarshallerCache(cacheName) ? MARSH_CACHE_POOL : sys ? 
UTILITY_CACHE_POOL : SYSTEM_POOL;
+        plc = cacheType.ioPolicy();
 
         Factory<ExpiryPolicy> factory = cacheCfg.getExpiryPolicyFactory();
 
@@ -434,10 +437,17 @@ public class GridCacheContext<K, V> implements 
Externalizable {
     }
 
     /**
-     * @return System cache flag.
+     * @return {@code True} if should use system transactions which are 
isolated from user transactions.
+     */
+    public boolean systemTx() {
+        return cacheType == CacheType.UTILITY;
+    }
+
+    /**
+     * @return {@code True} if cache created by user.
      */
-    public boolean system() {
-        return sys;
+    public boolean userCache() {
+        return cacheType.userCache();
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java
index ee17893..eb3c5e3 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java
@@ -256,7 +256,7 @@ public class GridCacheDeploymentManager<K, V> extends 
GridCacheSharedManagerAdap
             cacheCtx.near().dht().context().swap().onUndeploy(ldr) :
             cacheCtx.swap().onUndeploy(ldr);
 
-        if (!cacheCtx.system()) {
+        if (cacheCtx.userCache()) {
             U.quietAndWarn(log, "");
             U.quietAndWarn(
                 log,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEventManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEventManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEventManager.java
index f543e3b..f56566e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEventManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEventManager.java
@@ -339,9 +339,7 @@ public class GridCacheEventManager extends 
GridCacheManagerAdapter {
      * @return {@code True} if event is recordable.
      */
     public boolean isRecordable(int type) {
-        return !cctx.system() &&
-            !CU.isAtomicsCache(cctx.name()) &&
-            cctx.gridEvents().isRecordable(type);
+        return cctx.userCache() && cctx.gridEvents().isRecordable(type);
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/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 c366520..1d04fd2 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
@@ -100,9 +100,6 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
     /** Maximum detected rebalance order. */
     private int maxRebalanceOrder;
 
-    /** System cache names. */
-    private final Set<String> sysCaches;
-
     /** Caches stop sequence. */
     private final Deque<String> stopSeq;
 
@@ -131,15 +128,14 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
         jCacheProxies = new ConcurrentHashMap<>();
         preloadFuts = new TreeMap<>();
 
-        sysCaches = new HashSet<>();
         stopSeq = new LinkedList<>();
     }
 
     /**
      * @param cfg Initializes cache configuration with proper defaults.
+     * @param cacheObjCtx Cache object context.
      * @throws IgniteCheckedException If configuration is not valid.
      */
-    @SuppressWarnings("unchecked")
     private void initialize(CacheConfiguration cfg, CacheObjectContext 
cacheObjCtx) throws IgniteCheckedException {
         if (cfg.getCacheMode() == null)
             cfg.setCacheMode(DFLT_CACHE_MODE);
@@ -275,13 +271,15 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
     }
 
     /**
-     * @param c Grid configuration.
+     * @param c Ignite configuration.
      * @param cc Configuration to validate.
+     * @param cacheType Cache type.
      * @param cfgStore Cache store.
      * @throws IgniteCheckedException If failed.
      */
     private void validate(IgniteConfiguration c,
         CacheConfiguration cc,
+        CacheType cacheType,
         @Nullable CacheStore cfgStore) throws IgniteCheckedException {
         if (cc.getCacheMode() == REPLICATED) {
             if (cc.getAffinity() instanceof FairAffinityFunction)
@@ -399,7 +397,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
             }
 
             case ONHEAP_TIERED:
-                if (!systemCache(cc.getName()) && cc.getEvictionPolicy() == 
null && cc.getOffHeapMaxMemory() >= 0)
+                if (cacheType.userCache() && cc.getEvictionPolicy() == null && 
cc.getOffHeapMaxMemory() >= 0)
                     U.quietAndWarn(log, "Eviction policy not enabled with 
ONHEAP_TIERED mode for cache " +
                         "(entries will not be moved to off-heap store): " + 
U.maskName(cc.getName()));
 
@@ -542,21 +540,21 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
         });
 
         // Internal caches which should not be returned to user.
+        Set<String> internalCaches = new HashSet<>();
+
         FileSystemConfiguration[] igfsCfgs = 
ctx.grid().configuration().getFileSystemConfiguration();
 
         if (igfsCfgs != null) {
             for (FileSystemConfiguration igfsCfg : igfsCfgs) {
-                sysCaches.add(maskNull(igfsCfg.getMetaCacheName()));
-                sysCaches.add(maskNull(igfsCfg.getDataCacheName()));
+                internalCaches.add(maskNull(igfsCfg.getMetaCacheName()));
+                internalCaches.add(maskNull(igfsCfg.getDataCacheName()));
             }
         }
 
         if (IgniteComponentType.HADOOP.inClassPath())
-            sysCaches.add(CU.SYS_CACHE_HADOOP_MR);
+            internalCaches.add(CU.SYS_CACHE_HADOOP_MR);
 
-        sysCaches.add(CU.MARSH_CACHE_NAME);
-        sysCaches.add(CU.UTILITY_CACHE_NAME);
-        sysCaches.add(CU.ATOMICS_CACHE_NAME);
+        internalCaches.add(CU.ATOMICS_CACHE_NAME);
 
         CacheConfiguration[] cfgs = ctx.config().getCacheConfiguration();
 
@@ -590,7 +588,18 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                         "assign unique name to each cache).");
             }
 
-            DynamicCacheDescriptor desc = new DynamicCacheDescriptor(cfg, 
IgniteUuid.randomUuid());
+            CacheType cacheType;
+
+            if (CU.isUtilityCache(cfg.getName()))
+                cacheType = CacheType.UTILITY;
+            else if (CU.isMarshallerCache(cfg.getName()))
+                cacheType = CacheType.MARSHALLER;
+            else if (internalCaches.contains(maskNull(cfg.getName())))
+                cacheType = CacheType.INTERNAL;
+            else
+                cacheType = CacheType.USER;
+
+            DynamicCacheDescriptor desc = new DynamicCacheDescriptor(cfg, 
cacheType, IgniteUuid.randomUuid());
 
             desc.locallyConfigured(true);
             desc.staticallyConfigured(true);
@@ -603,7 +612,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                 cfg.getNearConfiguration() != null,
                 cfg.getCacheMode() == LOCAL);
 
-            if (sysCaches.contains(maskNull(cfg.getName())))
+            if (!cacheType.userCache())
                 stopSeq.addLast(cfg.getName());
             else
                 stopSeq.addFirst(cfg.getName());
@@ -661,7 +670,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
             if (filter.apply(locNode)) {
                 CacheObjectContext cacheObjCtx = 
ctx.cacheObjects().contextForCache(null, ccfg.getName(), ccfg);
 
-                GridCacheContext ctx = createCache(ccfg, cacheObjCtx);
+                GridCacheContext ctx = createCache(ccfg, desc.cacheType(), 
cacheObjCtx);
 
                 ctx.dynamicDeploymentId(desc.deploymentId());
 
@@ -975,23 +984,28 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
 
     /**
      * @param cfg Cache configuration to use to create cache.
+     * @param cacheType Cache type.
+     * @param cacheObjCtx Cache object context.
      * @return Cache context.
      * @throws IgniteCheckedException If failed to create cache.
      */
-    @SuppressWarnings({"unchecked"})
-    private GridCacheContext createCache(CacheConfiguration<?, ?> cfg, 
CacheObjectContext cacheObjCtx) throws IgniteCheckedException {
+    private GridCacheContext createCache(CacheConfiguration<?, ?> cfg,
+        CacheType cacheType,
+        CacheObjectContext cacheObjCtx)
+        throws IgniteCheckedException
+    {
         assert cfg != null;
 
         CacheStore cfgStore = cfg.getCacheStoreFactory() != null ? 
cfg.getCacheStoreFactory().create() : null;
 
-        validate(ctx.config(), cfg, cfgStore);
+        validate(ctx.config(), cfg, cacheType, cfgStore);
 
         CacheJtaManagerAdapter jta = 
JTA.create(cfg.getTransactionManagerLookupClassName() == null);
 
         jta.createTmLookup(cfg);
 
-        // Skip suggestions for system caches.
-        if (!sysCaches.contains(maskNull(cfg.getName())))
+        // Skip suggestions for internal caches.
+        if (cacheType.userCache())
             suggestOptimizations(cfg, cfgStore != null);
 
         Collection<Object> toPrepare = new ArrayList<>();
@@ -1034,6 +1048,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
             ctx,
             sharedCtx,
             cfg,
+            cacheType,
             ctx.discovery().cacheAffinityNode(ctx.discovery().localNode(), 
cfg.getName()),
 
             /*
@@ -1162,6 +1177,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                 ctx,
                 sharedCtx,
                 cfg,
+                cacheType,
                 ctx.discovery().cacheAffinityNode(ctx.discovery().localNode(), 
cfg.getName()),
 
                 /*
@@ -1286,6 +1302,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
 
     /**
      * @param reqs Requests to start.
+     * @param topVer Topology version.
      * @throws IgniteCheckedException If failed to start cache.
      */
     @SuppressWarnings("TypeMayBeWeakened")
@@ -1294,11 +1311,13 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
         AffinityTopologyVersion topVer
     ) throws IgniteCheckedException {
         for (DynamicCacheChangeRequest req : reqs) {
-            assert req.start();
+            assert req.start() : req;
+            assert req.cacheType() != null : req.cacheType();
 
             prepareCacheStart(
                 req.startCacheConfiguration(),
                 req.nearCacheConfiguration(),
+                req.cacheType(),
                 req.clientStartOnly(),
                 req.initiatingNodeId(),
                 req.deploymentId(),
@@ -1313,6 +1332,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                     prepareCacheStart(
                         desc.cacheConfiguration(),
                         null,
+                        desc.cacheType(),
                         false,
                         null,
                         desc.deploymentId(),
@@ -1326,13 +1346,17 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
     /**
      * @param cfg Start configuration.
      * @param nearCfg Near configuration.
+     * @param cacheType Cache type.
      * @param clientStartOnly Client only start request.
      * @param initiatingNodeId Initiating node ID.
      * @param deploymentId Deployment ID.
+     * @param topVer Topology version.
+     * @throws IgniteCheckedException If failed.
      */
     private void prepareCacheStart(
         CacheConfiguration cfg,
         NearCacheConfiguration nearCfg,
+        CacheType cacheType,
         boolean clientStartOnly,
         UUID initiatingNodeId,
         IgniteUuid deploymentId,
@@ -1358,7 +1382,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
 
             CacheObjectContext cacheObjCtx = 
ctx.cacheObjects().contextForCache(null, ccfg.getName(), ccfg);
 
-            GridCacheContext cacheCtx = createCache(ccfg, cacheObjCtx);
+            GridCacheContext cacheCtx = createCache(ccfg, cacheType, 
cacheObjCtx);
 
             cacheCtx.startTopologyVersion(topVer);
 
@@ -1520,6 +1544,8 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
 
                 req.startCacheConfiguration(desc.cacheConfiguration());
 
+                req.cacheType(desc.cacheType());
+
                 req.deploymentId(desc.deploymentId());
 
                 reqs.add(req);
@@ -1558,8 +1584,11 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                         }
                     }
                     else {
+                        assert req.cacheType() != null : req;
+
                         DynamicCacheDescriptor desc = new 
DynamicCacheDescriptor(
                             ccfg,
+                            req.cacheType(),
                             req.deploymentId());
 
                         // Received statically configured cache.
@@ -1592,6 +1621,9 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
      * Dynamically starts cache.
      *
      * @param ccfg Cache configuration.
+     * @param cacheName Cache name.
+     * @param nearCfg Near cache configuration.
+     * @param failIfExists Fail if exists flag.
      * @return Future that will be completed when cache is deployed.
      */
     @SuppressWarnings("IfMayBeConditional")
@@ -1650,7 +1682,8 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                     initialize(cfg, cacheObjCtx);
 
                     req.startCacheConfiguration(cfg);
-                } catch (IgniteCheckedException e) {
+                }
+                catch (IgniteCheckedException e) {
                     return new GridFinishedFuture(e);
                 }
             }
@@ -1680,6 +1713,8 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
         if (nearCfg != null)
             req.nearCacheConfiguration(nearCfg);
 
+        req.cacheType(CacheType.USER);
+
         return F.first(initiateCacheChanges(F.asList(req)));
     }
 
@@ -1700,7 +1735,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
     public Collection<DynamicCacheStartFuture> 
initiateCacheChanges(Collection<DynamicCacheChangeRequest> reqs) {
         Collection<DynamicCacheStartFuture> res = new ArrayList<>(reqs.size());
 
-        Collection<DynamicCacheChangeRequest> sendReqs = new 
ArrayList<>(reqs.size());
+        Collection<DynamicCacheChangeRequest> sndReqs = new 
ArrayList<>(reqs.size());
 
         for (DynamicCacheChangeRequest req : reqs) {
             DynamicCacheStartFuture fut = new 
DynamicCacheStartFuture(req.cacheName(), req.deploymentId(), req);
@@ -1744,7 +1779,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                 if (fut.isDone())
                     continue;
 
-                sendReqs.add(req);
+                sndReqs.add(req);
             }
             catch (Exception e) {
                 fut.onDone(e);
@@ -1754,8 +1789,8 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
             }
         }
 
-        if (!sendReqs.isEmpty())
-            ctx.discovery().sendCustomEvent(new 
DynamicCacheChangeBatch(sendReqs));
+        if (!sndReqs.isEmpty())
+            ctx.discovery().sendCustomEvent(new 
DynamicCacheChangeBatch(sndReqs));
 
         return res;
     }
@@ -1801,7 +1836,10 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                 }
 
                 if (!req.clientStartOnly() && desc == null) {
-                    DynamicCacheDescriptor startDesc = new 
DynamicCacheDescriptor(ccfg, req.deploymentId());
+                    assert req.cacheType() != null : req;
+
+                    DynamicCacheDescriptor startDesc =
+                        new DynamicCacheDescriptor(ccfg, req.cacheType(), 
req.deploymentId());
 
                     DynamicCacheDescriptor old = 
registeredCaches.put(maskNull(ccfg.getName()), startDesc);
 
@@ -1815,7 +1853,9 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                         ccfg.getCacheMode() == LOCAL);
                 }
 
-                ctx.discovery().addClientNode(req.cacheName(), 
req.initiatingNodeId(), req.nearCacheConfiguration() != null);
+                ctx.discovery().addClientNode(req.cacheName(),
+                    req.initiatingNodeId(),
+                    req.nearCacheConfiguration() != null);
             }
             else {
                 if (desc == null) {
@@ -2230,13 +2270,18 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
         if (log.isDebugEnabled())
             log.debug("Getting public cache for name: " + name);
 
-        if (sysCaches.contains(name))
-            throw new IllegalStateException("Failed to get cache because it is 
system cache: " + name);
+        DynamicCacheDescriptor desc = registeredCaches.get(maskNull(name));
+
+        if (desc == null || desc.cancelled())
+            throw new IllegalArgumentException("Cache is not started: " + 
name);
+
+        if (!desc.cacheType().userCache())
+            throw new IllegalStateException("Failed to get cache because it is 
a system cache: " + name);
 
         IgniteCacheProxy<K, V> jcache = (IgniteCacheProxy<K, 
V>)jCacheProxies.get(maskNull(name));
 
         if (jcache == null)
-            throw new IllegalArgumentException("Cache is not configured: " + 
name);
+            throw new IllegalArgumentException("Cache is not started: " + 
name);
 
         return jcache.legacyProxy();
     }
@@ -2252,9 +2297,6 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
         if (log.isDebugEnabled())
             log.debug("Getting public cache for name: " + cacheName);
 
-        if (sysCaches.contains(maskNull(cacheName)))
-            throw new IllegalStateException("Failed to get cache because it is 
a system cache: " + cacheName);
-
         try {
             String masked = maskNull(cacheName);
 
@@ -2266,6 +2308,9 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                 if (desc == null || desc.cancelled())
                     throw new IllegalArgumentException("Cache is not started: 
" + cacheName);
 
+                if (!desc.cacheType().userCache())
+                    throw new IllegalStateException("Failed to get cache 
because it is a system cache: " + cacheName);
+
                 DynamicCacheChangeRequest req = new 
DynamicCacheChangeRequest(cacheName, ctx.localNodeId());
 
                 req.cacheName(cacheName);
@@ -2278,6 +2323,8 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
 
                 req.startCacheConfiguration(cfg);
 
+                req.cacheType(desc.cacheType());
+
                 req.clientStartOnly(true);
 
                 F.first(initiateCacheChanges(F.asList(req))).get();
@@ -2316,7 +2363,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
         Collection<IgniteCacheProxy<?, ?>> res = new 
ArrayList<>(jCacheProxies.size());
 
         for (Map.Entry<String, IgniteCacheProxy<?, ?>> entry : 
jCacheProxies.entrySet()) {
-            if (!sysCaches.contains(entry.getKey()))
+            if (entry.getValue().context().userCache())
                 res.add(entry.getValue());
         }
 
@@ -2366,7 +2413,9 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
      * @return {@code True} if specified cache is system, {@code false} 
otherwise.
      */
     public boolean systemCache(@Nullable String name) {
-        return sysCaches.contains(maskNull(name));
+        DynamicCacheDescriptor desc = registeredCaches.get(maskNull(name));
+
+        return desc != null && !desc.cacheType().userCache();
     }
 
     /** {@inheritDoc} */
@@ -2390,7 +2439,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
         if (!ctx.isStopping()) {
             for (GridCacheAdapter<?, ?> cache : caches.values()) {
                 // Do not notify system caches.
-                if (!cache.context().system() && 
!CU.isAtomicsCache(cache.context().name()))
+                if (cache.context().userCache())
                     cache.onUndeploy(ldr);
             }
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
index af38faf..12086b9 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
@@ -430,14 +430,14 @@ public class GridCacheSharedContext<K, V> {
      * @return {@code True} if cross-cache transaction can include this new 
cache.
      */
     public boolean txCompatible(IgniteInternalTx tx, Iterable<Integer> 
activeCacheIds, GridCacheContext<K, V> cacheCtx) {
-        if (cacheCtx.system() ^ tx.system())
+        if (cacheCtx.systemTx() ^ tx.system())
             return false;
 
         for (Integer cacheId : activeCacheIds) {
             GridCacheContext<K, V> activeCacheCtx = cacheContext(cacheId);
 
             // System transactions may sap only one cache.
-            if (cacheCtx.system()) {
+            if (cacheCtx.systemTx()) {
                 if (activeCacheCtx.cacheId() != cacheCtx.cacheId())
                     return false;
             }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/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 737e3ed..017b363 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
@@ -196,7 +196,7 @@ public abstract class GridDhtTransactionalCacheAdapter<K, 
V> extends GridDhtCach
                                     req.topologyVersion(),
                                     req.version(),
                                     /*commitVer*/null,
-                                    ctx.system(),
+                                    ctx.systemTx(),
                                     ctx.ioPolicy(),
                                     PESSIMISTIC,
                                     req.isolation(),
@@ -794,7 +794,7 @@ public abstract class GridDhtTransactionalCacheAdapter<K, 
V> extends GridDhtCach
                                     req.threadId(),
                                     req.implicitTx(),
                                     req.implicitSingleTx(),
-                                    ctx.system(),
+                                    ctx.systemTx(),
                                     ctx.ioPolicy(),
                                     PESSIMISTIC,
                                     req.isolation(),

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
index 5f982e6..44ff756 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
@@ -289,7 +289,7 @@ public class GridNearTransactionalCache<K, V> extends 
GridNearCacheAdapter<K, V>
                                         req.threadId(),
                                         req.version(),
                                         null,
-                                        ctx.system(),
+                                        ctx.systemTx(),
                                         ctx.ioPolicy(),
                                         PESSIMISTIC,
                                         req.isolation(),

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/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 70c5c9d..0d28120 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
@@ -129,7 +129,7 @@ public class CacheContinuousQueryManager extends 
GridCacheManagerAdapter {
         assert e != null;
         assert key != null;
 
-        boolean internal = e.isInternal() || e.context().system();
+        boolean internal = e.isInternal() || !e.context().userCache();
 
         if (preload && !internal)
             return;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java
index c3ad32b..044c3d7 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java
@@ -100,11 +100,13 @@ public class IgniteTransactionsImpl<K, V> implements 
IgniteTransactionsEx {
         A.ensure(timeout >= 0, "timeout cannot be negative");
         A.ensure(txSize >= 0, "transaction size cannot be negative");
 
+        checkTransactional(ctx);
+
         return txStart0(concurrency,
             isolation,
             timeout,
             txSize,
-            ctx.system() ? ctx : null);
+            ctx.systemTx() ? ctx : null);
     }
 
     /** {@inheritDoc} */
@@ -116,13 +118,15 @@ public class IgniteTransactionsImpl<K, V> implements 
IgniteTransactionsEx {
         A.notNull(concurrency, "concurrency");
         A.notNull(isolation, "isolation");
 
+        checkTransactional(ctx);
+
         TransactionConfiguration cfg = 
cctx.gridConfig().getTransactionConfiguration();
 
         return txStart0(concurrency,
             isolation,
             cfg.getDefaultTxTimeout(),
             0,
-            ctx.system() ? ctx : null);
+            ctx.systemTx() ? ctx : null);
     }
 
     /**
@@ -138,9 +142,6 @@ public class IgniteTransactionsImpl<K, V> implements 
IgniteTransactionsEx {
         long timeout, int txSize, @Nullable GridCacheContext sysCacheCtx) {
         TransactionConfiguration cfg = 
cctx.gridConfig().getTransactionConfiguration();
 
-        if (sysCacheCtx != null && !sysCacheCtx.transactional())
-            throw new IgniteException("Failed to start transaction on 
non-transactional cache: " + sysCacheCtx.name());
-
         if (!cfg.isTxSerializableEnabled() && isolation == SERIALIZABLE)
             throw new IllegalArgumentException("SERIALIZABLE isolation level 
is disabled (to enable change " +
                 "'txSerializableEnabled' configuration property)");
@@ -185,4 +186,12 @@ public class IgniteTransactionsImpl<K, V> implements 
IgniteTransactionsEx {
     @Override public void resetMetrics() {
         cctx.resetTxMetrics();
     }
+
+    /**
+     * @param ctx Cache context.
+     */
+    private void checkTransactional(GridCacheContext ctx) {
+        if (!ctx.transactional())
+            throw new IgniteException("Failed to start transaction on 
non-transactional cache: " + ctx.name());
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
index 10146a4..2cbf0c8 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
@@ -3081,7 +3081,7 @@ public abstract class IgniteTxLocalAdapter extends 
IgniteTxAdapter
                     "(cache configurations are not compatible) [" +
                     "activeCaches=[" + cacheNames + "]" +
                     ", cacheName=" + cacheCtx.name() +
-                    ", cacheSystem=" + cacheCtx.system() +
+                    ", cacheSystem=" + cacheCtx.systemTx() +
                     ", txSystem=" + system() + ']');
             }
             else

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
index a8ff280..12f57b4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
@@ -366,7 +366,7 @@ public class IgniteTxManager extends 
GridCacheSharedManagerAdapter {
         int txSize,
         @Nullable IgniteTxKey grpLockKey,
         boolean partLock) {
-        assert sysCacheCtx == null || sysCacheCtx.system();
+        assert sysCacheCtx == null || sysCacheCtx.systemTx();
 
         UUID subjId = null; // TODO GG-9141 how to get subj ID?
 
@@ -392,6 +392,7 @@ public class IgniteTxManager extends 
GridCacheSharedManagerAdapter {
     }
 
     /**
+     * @param cacheCtx Cache context.
      * @param tx Created transaction.
      * @return Started transaction.
      */
@@ -415,7 +416,7 @@ public class IgniteTxManager extends 
GridCacheSharedManagerAdapter {
             // Do not add remote and dht local transactions as remote node may 
have the same thread ID
             // and overwrite local transaction.
             if (tx.local() && !tx.dht()) {
-                if (cacheCtx == null || !cacheCtx.system())
+                if (cacheCtx == null || !cacheCtx.systemTx())
                     threadMap.put(tx.threadId(), tx);
                 else
                     sysThreadMap.put(new TxThreadKey(tx.threadId(), 
cacheCtx.cacheId()), tx);
@@ -692,12 +693,13 @@ public class IgniteTxManager extends 
GridCacheSharedManagerAdapter {
     }
 
     /**
+     * @param cctx Cache context.
      * @param threadId Id of thread for transaction.
      * @return Transaction for thread with given ID.
      */
     @SuppressWarnings({"unchecked"})
     private <T> T tx(GridCacheContext cctx, long threadId) {
-        if (cctx == null || !cctx.system())
+        if (cctx == null || !cctx.systemTx())
             return (T)threadMap.get(threadId);
 
         TxThreadKey key = new TxThreadKey(threadId, cctx.cacheId());

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteDynamicCacheStartSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteDynamicCacheStartSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteDynamicCacheStartSelfTest.java
index e57a0a2..b83924b25 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteDynamicCacheStartSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteDynamicCacheStartSelfTest.java
@@ -75,8 +75,7 @@ public class IgniteDynamicCacheStartSelfTest extends 
GridCommonAbstractTest {
     /**
      * {@inheritDoc}
      */
-    @Override
-    protected IgniteConfiguration getConfiguration(String gridName) throws 
Exception {
+    @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
         IgniteConfiguration cfg = super.getConfiguration(gridName);
 
         cfg.setUserAttributes(F.asMap(TEST_ATTRIBUTE_NAME, testAttribute));
@@ -100,16 +99,14 @@ public class IgniteDynamicCacheStartSelfTest extends 
GridCommonAbstractTest {
     /**
      * {@inheritDoc}
      */
-    @Override
-    protected void beforeTestsStarted() throws Exception {
+    @Override protected void beforeTestsStarted() throws Exception {
         startGridsMultiThreaded(nodeCount());
     }
 
     /**
      * {@inheritDoc}
      */
-    @Override
-    protected void afterTestsStopped() throws Exception {
+    @Override protected void afterTestsStopped() throws Exception {
         stopAllGrids();
     }
 
@@ -124,8 +121,7 @@ public class IgniteDynamicCacheStartSelfTest extends 
GridCommonAbstractTest {
         int threadNum = 20;
 
         GridTestUtils.runMultiThreaded(new Callable<Object>() {
-            @Override
-            public Object call() throws Exception {
+            @Override public Object call() throws Exception {
                 CacheConfiguration ccfg = new CacheConfiguration();
 
                 ccfg.setName(DYNAMIC_CACHE_NAME);
@@ -184,8 +180,7 @@ public class IgniteDynamicCacheStartSelfTest extends 
GridCommonAbstractTest {
         int threadNum = 20;
 
         GridTestUtils.runMultiThreaded(new Callable<Object>() {
-            @Override
-            public Object call() throws Exception {
+            @Override public Object call() throws Exception {
                 CacheConfiguration ccfg = new CacheConfiguration();
 
                 ccfg.setName(DYNAMIC_CACHE_NAME);
@@ -254,6 +249,7 @@ public class IgniteDynamicCacheStartSelfTest extends 
GridCommonAbstractTest {
     }
 
     /**
+     * @param mode Cache atomicity mode.
      * @throws Exception If failed.
      */
     private void checkStartStopCacheSimple(CacheAtomicityMode mode) throws 
Exception {
@@ -300,15 +296,13 @@ public class IgniteDynamicCacheStartSelfTest extends 
GridCommonAbstractTest {
                 f.get();
 
             GridTestUtils.assertThrows(log, new Callable<Object>() {
-                @Override
-                public Object call() throws Exception {
+                @Override public Object call() throws Exception {
                     return kernal0.cache(DYNAMIC_CACHE_NAME);
                 }
             }, IllegalArgumentException.class, null);
 
             GridTestUtils.assertThrows(log, new Callable<Object>() {
-                @Override
-                public Object call() throws Exception {
+                @Override public Object call() throws Exception {
                     return caches[idx].get("1");
                 }
             }, IllegalStateException.class, null);
@@ -360,13 +354,13 @@ public class IgniteDynamicCacheStartSelfTest extends 
GridCommonAbstractTest {
                     f.get();
 
                 GridTestUtils.assertThrows(log, new Callable<Object>() {
-                    @Override
-                    public Object call() throws Exception {
+                    @Override public Object call() throws Exception {
                         return kernal0.cache(DYNAMIC_CACHE_NAME);
                     }
                 }, IllegalArgumentException.class, null);
             }
-        } finally {
+        }
+        finally {
             stopGrid(nodeCount() + 1);
             stopGrid(nodeCount());
         }
@@ -423,8 +417,7 @@ public class IgniteDynamicCacheStartSelfTest extends 
GridCommonAbstractTest {
                     assertNotNull(grid(g).cache(DYNAMIC_CACHE_NAME));
                 else
                     GridTestUtils.assertThrows(log, new Callable<Object>() {
-                        @Override
-                        public Object call() throws Exception {
+                        @Override public Object call() throws Exception {
                             return kernal0.getCache(DYNAMIC_CACHE_NAME);
                         }
                     }, IllegalArgumentException.class, null);
@@ -434,7 +427,8 @@ public class IgniteDynamicCacheStartSelfTest extends 
GridCommonAbstractTest {
 
             stopGrid(nodeCount() + 1);
             stopGrid(nodeCount());
-        } finally {
+        }
+        finally {
             testAttribute = true;
         }
     }
@@ -444,8 +438,7 @@ public class IgniteDynamicCacheStartSelfTest extends 
GridCommonAbstractTest {
      */
     public void testFailWhenConfiguredCacheExists() throws Exception {
         GridTestUtils.assertThrowsInherited(log, new Callable<Object>() {
-            @Override
-            public Object call() throws Exception {
+            @Override public Object call() throws Exception {
                 final Ignite kernal = grid(0);
 
                 CacheConfiguration ccfg = new CacheConfiguration();
@@ -482,8 +475,7 @@ public class IgniteDynamicCacheStartSelfTest extends 
GridCommonAbstractTest {
             kernal.createCache(ccfg);
 
             GridTestUtils.assertThrows(log, new Callable<Object>() {
-                @Override
-                public Object call() throws Exception {
+                @Override public Object call() throws Exception {
                     IgniteKernal ignite = (IgniteKernal) grid(nodeCount());
 
                     return ignite.getCache(DYNAMIC_CACHE_NAME);
@@ -499,7 +491,8 @@ public class IgniteDynamicCacheStartSelfTest extends 
GridCommonAbstractTest {
                 assertEquals("1", 
ignite(g).cache(DYNAMIC_CACHE_NAME).get("1"));
 
             
kernal.context().cache().dynamicStopCache(DYNAMIC_CACHE_NAME).get();
-        } finally {
+        }
+        finally {
             stopGrid(nodeCount());
         }
     }
@@ -540,7 +533,8 @@ public class IgniteDynamicCacheStartSelfTest extends 
GridCommonAbstractTest {
                 assertEquals("1", 
ignite(g).cache(DYNAMIC_CACHE_NAME).get("1"));
 
             
kernal.context().cache().dynamicStopCache(DYNAMIC_CACHE_NAME).get();
-        } finally {
+        }
+        finally {
             stopGrid(nodeCount());
         }
     }
@@ -810,6 +804,7 @@ public class IgniteDynamicCacheStartSelfTest extends 
GridCommonAbstractTest {
     }
 
     /**
+     * @param nearOnly Near only flag.
      * @throws Exception If failed.
      */
     public void checkGetOrCreateNear(final boolean nearOnly) throws Exception {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteInternalCacheTypesTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteInternalCacheTypesTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteInternalCacheTypesTest.java
new file mode 100644
index 0000000..37bde6c
--- /dev/null
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteInternalCacheTypesTest.java
@@ -0,0 +1,132 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.cache;
+
+import org.apache.ignite.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.managers.communication.*;
+import org.apache.ignite.internal.util.typedef.internal.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.testframework.junits.common.*;
+
+import static org.apache.ignite.internal.managers.communication.GridIoPolicy.*;
+
+/**
+ * Sanity test for cache types.
+ */
+public class IgniteInternalCacheTypesTest extends GridCommonAbstractTest {
+    /** */
+    private static TcpDiscoveryIpFinder ipFinder = new 
TcpDiscoveryVmIpFinder(true);
+
+    /** */
+    private static final String CACHE1 = "cache1";
+
+    /** */
+    private static final String CACHE2 = "cache2";
+
+    /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
+        IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+        ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(ipFinder);
+
+        if (gridName.equals(getTestGridName(0))) {
+            CacheConfiguration ccfg = defaultCacheConfiguration();
+
+            ccfg.setName(CACHE1);
+
+            cfg.setCacheConfiguration(ccfg);
+        }
+
+        return cfg;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTestsStopped() throws Exception {
+        super.afterTestsStopped();
+
+        stopAllGrids();
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testCacheTypes() throws Exception {
+        Ignite ignite0 = startGrid(0);
+
+        checkCacheTypes(ignite0, CACHE1);
+
+        Ignite ignite1 = startGrid(1);
+
+        checkCacheTypes(ignite1, CACHE1);
+
+        CacheConfiguration ccfg = defaultCacheConfiguration();
+
+        ccfg.setName(CACHE2);
+
+        assertNotNull(ignite0.createCache(ccfg));
+
+        checkCacheTypes(ignite0, CACHE1, CACHE2);
+        checkCacheTypes(ignite1, CACHE1, CACHE2);
+
+        Ignite ignite2 = startGrid(2);
+
+        checkCacheTypes(ignite0, CACHE1, CACHE2);
+        checkCacheTypes(ignite1, CACHE1, CACHE2);
+        checkCacheTypes(ignite2, CACHE1, CACHE2);
+    }
+
+    /**
+     * @param ignite Ignite.
+     * @param userCaches User caches.
+     */
+    private void checkCacheTypes(Ignite ignite, String... userCaches) {
+        checkCache(ignite, CU.UTILITY_CACHE_NAME, UTILITY_CACHE_POOL, false, 
true);
+
+        checkCache(ignite, CU.MARSH_CACHE_NAME, MARSH_CACHE_POOL, false, 
false);
+
+        checkCache(ignite, CU.ATOMICS_CACHE_NAME, SYSTEM_POOL, false, false);
+
+        for (String cache : userCaches)
+            checkCache(ignite, cache, SYSTEM_POOL, true, false);
+    }
+
+    /**
+     * @param ignite Ignite.
+     * @param name Cache name.
+     * @param plc Expected IO policy.
+     * @param user Expected user cache flag.
+     * @param sysTx Expected system transaction flag.
+     */
+    private void checkCache(
+        Ignite ignite,
+        String name,
+        GridIoPolicy plc,
+        boolean user,
+        boolean sysTx) {
+        GridCacheAdapter cache = 
((IgniteKernal)ignite).context().cache().internalCache(name);
+
+        assertNotNull("No cache " + name, cache);
+        assertEquals("Unexpected property for cache: " + cache.name(), plc, 
cache.context().ioPolicy());
+        assertEquals("Unexpected property for cache: " + cache.name(), user, 
cache.context().userCache());
+        assertEquals("Unexpected property for cache: " + cache.name(), sysTx, 
cache.context().systemTx());
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheSystemTransactionsSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheSystemTransactionsSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheSystemTransactionsSelfTest.java
index d4c3a1b..7c3d31a 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheSystemTransactionsSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheSystemTransactionsSelfTest.java
@@ -110,8 +110,7 @@ public class IgniteCacheSystemTransactionsSelfTest extends 
GridCacheAbstractSelf
             ignite.context().cache().marshallerCache();
 
         GridTestUtils.assertThrows(log, new Callable<Object>() {
-            @Override
-            public Object call() throws Exception {
+            @Override public Object call() throws Exception {
                 return marshallerCache.txStartEx(PESSIMISTIC, REPEATABLE_READ);
             }
         }, IgniteException.class, null);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsStartCacheTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsStartCacheTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsStartCacheTest.java
new file mode 100644
index 0000000..09fa455
--- /dev/null
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsStartCacheTest.java
@@ -0,0 +1,140 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.igfs;
+
+import org.apache.ignite.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.igfs.*;
+import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.cache.*;
+import org.apache.ignite.internal.util.typedef.*;
+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 java.io.*;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.*;
+import static org.apache.ignite.cache.CacheMode.*;
+import static org.apache.ignite.cache.CacheWriteSynchronizationMode.*;
+import static org.apache.ignite.igfs.IgfsMode.*;
+import static org.apache.ignite.internal.managers.communication.GridIoPolicy.*;
+
+/**
+ *
+ */
+public class IgfsStartCacheTest extends IgfsCommonAbstractTest {
+    /** IP finder. */
+    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
+
+    /**
+     * @param igfs If {@code true} created IGFS configuration.
+     * @param idx Node index.
+     * @return Configuration
+     */
+    private IgniteConfiguration config(boolean igfs, int idx) {
+        IgniteConfiguration cfg = new IgniteConfiguration();
+
+        TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
+
+        discoSpi.setIpFinder(IP_FINDER);
+
+        cfg.setDiscoverySpi(discoSpi);
+
+        if (igfs) {
+            FileSystemConfiguration igfsCfg = new FileSystemConfiguration();
+
+            igfsCfg.setDataCacheName("dataCache");
+            igfsCfg.setMetaCacheName("metaCache");
+            igfsCfg.setName("igfs");
+            igfsCfg.setDefaultMode(PRIMARY);
+            igfsCfg.setFragmentizerEnabled(false);
+
+            CacheConfiguration dataCacheCfg = new CacheConfiguration();
+
+            dataCacheCfg.setName("dataCache");
+            dataCacheCfg.setCacheMode(PARTITIONED);
+            dataCacheCfg.setAtomicityMode(TRANSACTIONAL);
+            dataCacheCfg.setWriteSynchronizationMode(FULL_SYNC);
+            dataCacheCfg.setAffinityMapper(new 
IgfsGroupDataBlocksKeyMapper(1));
+
+            CacheConfiguration metaCacheCfg = new CacheConfiguration();
+
+            metaCacheCfg.setName("metaCache");
+            metaCacheCfg.setCacheMode(REPLICATED);
+            metaCacheCfg.setAtomicityMode(TRANSACTIONAL);
+            dataCacheCfg.setWriteSynchronizationMode(FULL_SYNC);
+
+            cfg.setCacheConfiguration(dataCacheCfg, metaCacheCfg);
+            cfg.setFileSystemConfiguration(igfsCfg);
+        }
+
+        cfg.setGridName("node-" + idx);
+
+        return cfg;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTest() throws Exception {
+        super.afterTest();
+
+        stopAllGrids();
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testCacheStart() throws Exception {
+        Ignite g0 = G.start(config(true, 0));
+
+        checkIgfsCaches(g0);
+
+        Ignite g1 = G.start(config(false, 1));
+
+        checkIgfsCaches(g1);
+
+        IgniteFileSystem igfs = g0.fileSystem("igfs");
+
+        igfs.mkdirs(new IgfsPath("/test"));
+
+        try (BufferedWriter bw = new BufferedWriter(new 
OutputStreamWriter(igfs.create(
+            new IgfsPath("/test/test.file"), true)))) {
+
+            for (int i = 0; i < 1000; i++)
+                bw.write("test-" + i);
+        }
+    }
+
+    /**
+     * @param ignite Ignite.
+     */
+    private void checkIgfsCaches(Ignite ignite) {
+        checkCache(((IgniteKernal)ignite).internalCache("dataCache"));
+        checkCache(((IgniteKernal)ignite).internalCache("metaCache"));
+    }
+
+    /**
+     * @param cache Cache.
+     */
+    private void checkCache(GridCacheAdapter cache) {
+        assertNotNull(cache);
+        assertFalse(cache.context().userCache());
+        assertFalse(cache.context().systemTx());
+        assertEquals(SYSTEM_POOL, cache.context().ioPolicy());
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgsfStartCacheTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgsfStartCacheTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgsfStartCacheTest.java
deleted file mode 100644
index e2eedbe..0000000
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgsfStartCacheTest.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.processors.igfs;
-
-import org.apache.ignite.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.igfs.*;
-import org.apache.ignite.internal.util.typedef.*;
-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 java.io.*;
-
-import static org.apache.ignite.cache.CacheAtomicityMode.*;
-import static org.apache.ignite.cache.CacheMode.*;
-import static org.apache.ignite.cache.CacheWriteSynchronizationMode.*;
-import static org.apache.ignite.igfs.IgfsMode.*;
-
-/**
- *
- */
-public class IgsfStartCacheTest extends IgfsCommonAbstractTest {
-    /** IP finder. */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
-
-    /**
-     * @param igfs If {@code true} created IGFS configuration.
-     * @param idx Node index.
-     * @return Configuration
-     */
-    private IgniteConfiguration config(boolean igfs, int idx) {
-        IgniteConfiguration cfg = new IgniteConfiguration();
-
-        TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
-
-        discoSpi.setIpFinder(IP_FINDER);
-
-        cfg.setDiscoverySpi(discoSpi);
-
-        if (igfs) {
-            FileSystemConfiguration igfsCfg = new FileSystemConfiguration();
-
-            igfsCfg.setDataCacheName("dataCache");
-            igfsCfg.setMetaCacheName("metaCache");
-            igfsCfg.setName("igfs");
-            igfsCfg.setDefaultMode(PRIMARY);
-            igfsCfg.setFragmentizerEnabled(false);
-
-            CacheConfiguration dataCacheCfg = new CacheConfiguration();
-
-            dataCacheCfg.setName("dataCache");
-            dataCacheCfg.setCacheMode(PARTITIONED);
-            dataCacheCfg.setAtomicityMode(TRANSACTIONAL);
-            dataCacheCfg.setWriteSynchronizationMode(FULL_SYNC);
-            dataCacheCfg.setAffinityMapper(new 
IgfsGroupDataBlocksKeyMapper(1));
-
-            CacheConfiguration metaCacheCfg = new CacheConfiguration();
-
-            metaCacheCfg.setName("metaCache");
-            metaCacheCfg.setCacheMode(REPLICATED);
-            metaCacheCfg.setAtomicityMode(TRANSACTIONAL);
-            dataCacheCfg.setWriteSynchronizationMode(FULL_SYNC);
-
-            cfg.setCacheConfiguration(dataCacheCfg, metaCacheCfg);
-            cfg.setFileSystemConfiguration(igfsCfg);
-        }
-
-        cfg.setGridName("node-" + idx);
-
-        return cfg;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTest() throws Exception {
-        super.afterTest();
-
-        stopAllGrids();
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testCacheStart() throws Exception {
-        Ignite g0 = G.start(config(true, 0));
-
-        G.start(config(false, 1));
-
-        IgniteFileSystem igfs = g0.fileSystem("igfs");
-
-        igfs.mkdirs(new IgfsPath("/test"));
-
-        try (BufferedWriter bw = new BufferedWriter(new 
OutputStreamWriter(igfs.create(
-            new IgfsPath("/test/test.file"), true)))) {
-
-            for (int i = 0; i < 1000; i++)
-                bw.write("test-" + i);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/test/java/org/apache/ignite/loadtests/hashmap/GridCacheTestContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/loadtests/hashmap/GridCacheTestContext.java
 
b/modules/core/src/test/java/org/apache/ignite/loadtests/hashmap/GridCacheTestContext.java
index b277d48..0b0f099 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/loadtests/hashmap/GridCacheTestContext.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/loadtests/hashmap/GridCacheTestContext.java
@@ -57,6 +57,7 @@ public class GridCacheTestContext<K, V> extends 
GridCacheContext<K, V> {
                 new GridCacheIoManager()
             ),
             defaultCacheConfiguration(),
+            CacheType.USER,
             true,
             new GridCacheEventManager(),
             new GridCacheSwapManager(false),

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
 
b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
index d5ae2e6..00dfc76 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
@@ -427,6 +427,8 @@ public class IgniteCacheTestSuite extends TestSuite {
         suite.addTestSuite(IgniteCacheTxStoreValueTest.class);
         suite.addTestSuite(IgniteCacheTxNearEnabledStoreValueTest.class);
 
+        suite.addTestSuite(IgniteInternalCacheTypesTest.class);
+
         return suite;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd7f1a90/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteIgfsTestSuite.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteIgfsTestSuite.java
 
b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteIgfsTestSuite.java
index c0893cc..11e22b1 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteIgfsTestSuite.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteIgfsTestSuite.java
@@ -74,6 +74,8 @@ public class IgniteIgfsTestSuite extends TestSuite {
 
         suite.addTestSuite(IgfsGroupDataBlockKeyMapperHashSelfTest.class);
 
+        suite.addTestSuite(IgfsStartCacheTest.class);
+
         return suite;
     }
 }

Reply via email to