You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2016/12/29 09:37:14 UTC

[10/50] [abbrv] ignite git commit: Merge with master - WIP.

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousHandler.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerImpl.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerImpl.java
index 04b34a7,bb9ffdd..bd657bb
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerImpl.java
@@@ -77,8 -79,7 +80,9 @@@ import org.apache.ignite.internal.proce
  import org.apache.ignite.internal.processors.cache.IgniteCacheProxy;
  import org.apache.ignite.internal.processors.cache.KeyCacheObject;
  import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtInvalidPartitionException;
 +import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalPartition;
 +import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState;
+ import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTopologyFuture;
  import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
  import org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor;
  import org.apache.ignite.internal.processors.dr.GridDrType;
@@@ -1648,104 -1928,47 +1931,106 @@@ public class DataStreamerImpl<K, V> imp
  
              ExpiryPolicy plc = cctx.expiry();
  
 -            for (Entry<KeyCacheObject, CacheObject> e : entries) {
 -                try {
 -                    e.getKey().finishUnmarshal(cctx.cacheObjectContext(), cctx.deploy().globalLoader());
 +            Collection<Integer> reservedParts = new HashSet<>();
 +            Collection<Integer> ignoredParts = new HashSet<>();
  
 -                    GridCacheEntryEx entry = internalCache.entryEx(e.getKey(), topVer);
 +            try {
 +                for (Entry<KeyCacheObject, CacheObject> e : entries) {
 +                    cctx.shared().database().checkpointReadLock();
  
 -                    if (plc != null) {
 -                        ttl = CU.toTtl(plc.getExpiryForCreation());
 +                    try {
 +                        e.getKey().finishUnmarshal(cctx.cacheObjectContext(), cctx.deploy().globalLoader());
  
 -                        if (ttl == CU.TTL_ZERO)
 -                            continue;
 -                        else if (ttl == CU.TTL_NOT_CHANGED)
 -                            ttl = 0;
 +                        if (!cctx.isLocal()) {
 +                            int p = cctx.affinity().partition(e.getKey());
  
 -                        expiryTime = CU.toExpireTime(ttl);
 -                    }
 +                            if (ignoredParts.contains(p))
 +                                continue;
 +
 +                            if (!reservedParts.contains(p)) {
 +                                GridDhtLocalPartition part = cctx.topology().localPartition(p, topVer, true);
 +
 +                                if (!part.reserve()) {
 +                                    ignoredParts.add(p);
 +
 +                                    continue;
 +                                }
 +                                else {
 +                                    // We must not allow to read from RENTING partitions.
 +                                    if (part.state() == GridDhtPartitionState.RENTING) {
 +                                        part.release();
 +
 +                                        ignoredParts.add(p);
 +
 +                                        continue;
 +                                    }
 +
 +                                    reservedParts.add(p);
 +                                }
 +                            }
 +                        }
 +
 +                        GridCacheEntryEx entry = internalCache.entryEx(e.getKey(), topVer);
 +
 +                        if (plc != null) {
 +                            ttl = CU.toTtl(plc.getExpiryForCreation());
 +
 +                            if (ttl == CU.TTL_ZERO)
 +                                continue;
 +                            else if (ttl == CU.TTL_NOT_CHANGED)
 +                                ttl = 0;
 +
 +                            expiryTime = CU.toExpireTime(ttl);
 +                        }
  
-                         entry.initialValue(e.getValue(),
-                             ver,
-                             ttl,
-                             expiryTime,
-                             false,
-                             topVer,
-                             GridDrType.DR_LOAD,
-                             false);
+                     boolean primary = cctx.affinity().primary(cctx.localNode(), entry.key(), topVer);
+ 
+                     entry.initialValue(e.getValue(),
+                         ver,
+                         ttl,
+                         expiryTime,
+                         false,
+                         topVer,
+                         primary ? GridDrType.DR_LOAD : GridDrType.DR_PRELOAD,
+                         false);
  
 -                    cctx.evicts().touch(entry, topVer);
 +                        cctx.evicts().touch(entry, topVer);
  
 -                    CU.unwindEvicts(cctx);
 +                        CU.unwindEvicts(cctx);
  
 -                    entry.onUnlock();
 +                        entry.onUnlock();
 +                    }
 +                    catch (GridDhtInvalidPartitionException ignored) {
 +                        ignoredParts.add(cctx.affinity().partition(e.getKey()));
 +                    }
 +                    catch (GridCacheEntryRemovedException ignored) {
 +                        // No-op.
 +                    }
 +                    catch (IgniteCheckedException ex) {
 +                        IgniteLogger log = cache.unwrap(Ignite.class).log();
 +
 +                        U.error(log, "Failed to set initial value for cache entry: " + e, ex);
 +                    }
 +                    finally {
 +                        cctx.shared().database().checkpointReadUnlock();
 +                    }
                  }
 -                catch (GridDhtInvalidPartitionException | GridCacheEntryRemovedException ignored) {
 -                    // No-op.
 +            }
 +            finally {
 +                for (Integer part : reservedParts) {
 +                    GridDhtLocalPartition locPart = cctx.topology().localPartition(part, topVer, false);
 +
 +                    assert locPart != null : "Evicted reserved partition: " + locPart;
 +
 +                    locPart.release();
                  }
 -                catch (IgniteCheckedException ex) {
 -                    IgniteLogger log = cache.unwrap(Ignite.class).log();
  
 -                    U.error(log, "Failed to set initial value for cache entry: " + e, ex);
 +                try {
 +                    if (!cctx.isNear() && cctx.shared().wal() != null)
 +                        cctx.shared().wal().fsync(null);
 +                }
 +                catch (IgniteCheckedException e) {
 +                    U.error(log, "Failed to write preloaded entries into write-ahead log: " + e, e);
                  }
              }
          }

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsProcessor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
index af9c80f,f845675..d668009
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
@@@ -47,14 -40,10 +47,15 @@@ import org.apache.ignite.configuration.
  import org.apache.ignite.configuration.IgniteConfiguration;
  import org.apache.ignite.configuration.NearCacheConfiguration;
  import org.apache.ignite.configuration.TransactionConfiguration;
 -import org.apache.ignite.internal.binary.*;
 +import org.apache.ignite.internal.binary.BinaryRawReaderEx;
 +import org.apache.ignite.internal.binary.BinaryRawWriterEx;
  import org.apache.ignite.internal.processors.platform.cache.affinity.PlatformAffinityFunction;
+ import org.apache.ignite.internal.processors.platform.cache.expiry.PlatformExpiryPolicyFactory;
 -import org.apache.ignite.platform.dotnet.*;
 +import org.apache.ignite.platform.dotnet.PlatformDotNetAffinityFunction;
 +import org.apache.ignite.platform.dotnet.PlatformDotNetBinaryConfiguration;
 +import org.apache.ignite.platform.dotnet.PlatformDotNetBinaryTypeConfiguration;
 +import org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactoryNative;
 +import org.apache.ignite.platform.dotnet.PlatformDotNetConfiguration;
  import org.apache.ignite.spi.communication.CommunicationSpi;
  import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
  import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpiMBean;
@@@ -63,6 -52,9 +64,7 @@@ import org.apache.ignite.spi.discovery.
  import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
  import org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder;
  import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
 -import org.apache.ignite.spi.swapspace.SwapSpaceSpi;
+ import org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi;
 -import org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpiMBean;
  import org.apache.ignite.transactions.TransactionConcurrency;
  import org.apache.ignite.transactions.TransactionIsolation;
  

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryIndexing.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
index c9d8c8f,1594cee..db32c64
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
@@@ -45,13 -69,14 +70,16 @@@ import org.apache.ignite.internal.proce
  import org.apache.ignite.internal.processors.cache.CacheObject;
  import org.apache.ignite.internal.processors.cache.CacheObjectContext;
  import org.apache.ignite.internal.processors.cache.GridCacheContext;
 +import org.apache.ignite.internal.processors.cache.KeyCacheObject;
  import org.apache.ignite.internal.processors.cache.GridCacheDefaultAffinityKeyMapper;
+ import org.apache.ignite.internal.processors.cache.IgniteCacheProxy;
  import org.apache.ignite.internal.processors.cache.QueryCursorImpl;
  import org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl;
  import org.apache.ignite.internal.processors.cache.query.CacheQueryFuture;
  import org.apache.ignite.internal.processors.cache.query.CacheQueryType;
+ import org.apache.ignite.internal.processors.cache.query.GridCacheQueryType;
 +import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
+ import org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor;
  import org.apache.ignite.internal.util.GridSpinBusyLock;
  import org.apache.ignite.internal.util.future.GridCompoundFuture;
  import org.apache.ignite.internal.util.future.GridFinishedFuture;
@@@ -151,9 -155,9 +158,12 @@@ public class GridQueryProcessor extend
      private final GridQueryIndexing idx;
  
      /** */
+     private GridTimeoutProcessor.CancelableTask qryDetailMetricsEvictTask;
+ 
+     /** */
 +    private boolean skipFieldLookup;
 +
 +    /** */
      private static final ThreadLocal<AffinityTopologyVersion> requestTopVer = new ThreadLocal<>();
  
      /**
@@@ -958,9 -1004,16 +1062,16 @@@
  
                      QueryCursorImpl<List<?>> cursor = new QueryCursorImpl<>(new Iterable<List<?>>() {
                          @Override public Iterator<List<?>> iterator() {
-                             return new GridQueryCacheObjectsIterator(res.iterator(), cctx, keepBinary);
+                             try {
 -                                sendQueryExecutedEvent(sql, args);
++                                sendQueryExecutedEvent(sql, args, space);
+ 
+                                 return new GridQueryCacheObjectsIterator(res.iterator(), cctx, keepBinary);
+                             }
+                             catch (IgniteCheckedException e) {
+                                 throw new IgniteException(e);
+                             }
                          }
-                     });
+                     }, cancel);
  
                      cursor.fieldsMeta(res.metaData());
  

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryTypeDescriptor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
index bee5fae,9a5f077..1a36a81
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
@@@ -1220,15 -1263,9 +1255,15 @@@ public class GridServiceProcessor exten
      @SuppressWarnings("unchecked")
      private Iterator<Cache.Entry<Object, Object>> serviceEntries(IgniteBiPredicate<Object, Object> p) {
          try {
 +            GridCacheQueryManager qryMgr = cache.context().queries();
 +
 +            CacheQuery<Map.Entry<Object, Object>> qry = qryMgr.createScanQuery(p, null, false);
 +
 +            qry.keepAll(false);
 +
              if (!cache.context().affinityNode()) {
                  ClusterNode oldestSrvNode =
-                     CU.oldestAliveCacheServerNode(cache.context().shared(), AffinityTopologyVersion.NONE);
+                     ctx.discovery().oldestAliveCacheServerNode(AffinityTopologyVersion.NONE);
  
                  if (oldestSrvNode == null)
                      return new GridEmptyIterator<>();

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index a177c5b,3dfb3c6..e21838b
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
@@@ -8899,54 -8933,45 +9025,98 @@@ public abstract class IgniteUtils 
       * @param userWorkDir Ignite work folder provided by user.
       * @param userIgniteHome Ignite home folder provided by user.
       */
 +    public static void setWorkDirectory(@Nullable String userWorkDir, @Nullable String userIgniteHome)
 +        throws IgniteCheckedException {
 +        String igniteWork0 = igniteWork;
 +
 +        if (igniteWork0 == null) {
 +            synchronized (IgniteUtils.class) {
 +                // Double check.
 +                igniteWork0 = igniteWork;
 +
 +                if (igniteWork0 != null)
 +                    return;
 +
 +                File workDir;
 +
 +                if (!F.isEmpty(userWorkDir))
 +                    workDir = new File(userWorkDir);
 +                else if (!F.isEmpty(IGNITE_WORK_DIR))
 +                    workDir = new File(IGNITE_WORK_DIR);
 +                else if (!F.isEmpty(userIgniteHome))
 +                    workDir = new File(userIgniteHome, "work");
 +                else {
 +                    String tmpDirPath = System.getProperty("java.io.tmpdir");
 +
 +                    if (tmpDirPath == null)
 +                        throw new IgniteCheckedException("Failed to create work directory in OS temp " +
 +                            "(property 'java.io.tmpdir' is null).");
 +
 +                    workDir = new File(tmpDirPath, "ignite" + File.separator + "work");
 +                }
 +
 +                if (!workDir.isAbsolute())
 +                    throw new IgniteCheckedException("Work directory path must be absolute: " + workDir);
 +
 +                if (!mkdirs(workDir))
 +                    throw new IgniteCheckedException("Work directory does not exist and cannot be created: " + workDir);
 +
 +                if (!workDir.canRead())
 +                    throw new IgniteCheckedException("Cannot read from work directory: " + workDir);
 +
 +                if (!workDir.canWrite())
 +                    throw new IgniteCheckedException("Cannot write to work directory: " + workDir);
 +
 +                igniteWork = workDir.getAbsolutePath();
 +            }
 +        }
 +    }
 +
 +    /**
++     * Get work directory for the given user-provided work directory and Ignite home.
++     *
++     * @param userWorkDir Ignite work folder provided by user.
++     * @param userIgniteHome Ignite home folder provided by user.
++     */
+     public static String workDirectory(@Nullable String userWorkDir, @Nullable String userIgniteHome)
+         throws IgniteCheckedException {
+         if (userIgniteHome == null)
+             userIgniteHome = getIgniteHome();
+ 
+         File workDir;
+ 
+         if (!F.isEmpty(userWorkDir))
+             workDir = new File(userWorkDir);
+         else if (!F.isEmpty(IGNITE_WORK_DIR))
+             workDir = new File(IGNITE_WORK_DIR);
+         else if (!F.isEmpty(userIgniteHome))
+             workDir = new File(userIgniteHome, "work");
+         else {
+             String tmpDirPath = System.getProperty("java.io.tmpdir");
+ 
+             if (tmpDirPath == null)
+                 throw new IgniteCheckedException("Failed to create work directory in OS temp " +
+                     "(property 'java.io.tmpdir' is null).");
+ 
+             workDir = new File(tmpDirPath, "ignite" + File.separator + "work");
+         }
+ 
+         if (!workDir.isAbsolute())
+             throw new IgniteCheckedException("Work directory path must be absolute: " + workDir);
+ 
+         if (!mkdirs(workDir))
+             throw new IgniteCheckedException("Work directory does not exist and cannot be created: " + workDir);
+ 
+         if (!workDir.canRead())
+             throw new IgniteCheckedException("Cannot read from work directory: " + workDir);
+ 
+         if (!workDir.canWrite())
+             throw new IgniteCheckedException("Cannot write to work directory: " + workDir);
+ 
+         return workDir.getAbsolutePath();
+     }
+ 
+     /**
       * Nullifies Ignite home directory. For test purposes only.
       */
      public static void nullifyHomeDirectory() {
@@@ -8954,30 -8979,16 +9124,32 @@@
      }
  
      /**
 +     * Nullifies work directory. For test purposes only.
 +     */
 +    public static void nullifyWorkDirectory() {
 +        igniteWork = null;
 +    }
 +
 +    /**
       * Resolves work directory.
       *
+      * @param workDir Work directory.
       * @param path Path to resolve.
       * @param delIfExist Flag indicating whether to delete the specify directory or not.
       * @return Resolved work directory.
       * @throws IgniteCheckedException If failed.
       */
-     public static File resolveWorkDirectory(String path, boolean delIfExist) throws IgniteCheckedException {
+     public static File resolveWorkDirectory(String workDir, String path, boolean delIfExist)
+         throws IgniteCheckedException {
 +        if (path == null) {
 +            String ggWork0 = igniteWork;
 +
 +            if (F.isEmpty(ggWork0))
 +                throw new IgniteCheckedException("Failed to resolve path (work directory has not been set): " + path);
 +
 +            return new File(igniteWork);
 +        }
 +
          File dir = new File(path);
  
          if (!dir.isAbsolute()) {

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioRecoveryDescriptor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
index 1c4599c,bc1f173..82225bc
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
@@@ -550,6 -642,31 +642,38 @@@ public class GridNioServer<T> 
      }
  
      /**
+      * @return Workers.
+      */
+     public List<AbstractNioClientWorker> workers() {
+         return clientWorkers;
+     }
+ 
+     /**
+      * @param ses Session.
+      * @param from Move from index.
+      * @param to Move to index.
+      */
+     private void moveSession(GridNioSession ses, int from, int to) {
+         assert from >= 0 && from < clientWorkers.size() : from;
+         assert to >= 0 && to < clientWorkers.size() : to;
+         assert from != to;
+ 
+         GridSelectorNioSessionImpl ses0 = (GridSelectorNioSessionImpl)ses;
+ 
+         SessionMoveFuture fut = new SessionMoveFuture(ses0, to);
+ 
+         if (!ses0.offerMove(clientWorkers.get(from), fut))
+             fut.onDone(false);
+     }
+ 
+     /**
++     * @return Sessions.
++     */
++    public Collection<? extends GridNioSession> sessions() {
++        return sessions;
++    }
++
++    /**
       * @param ses Session.
       * @param op Operation.
       * @return Future for operation.
@@@ -2618,6 -3240,18 +3247,28 @@@
          }
  
          /**
++         * @param srvName Logical server name for threads identification.
++         * @return This for chaining.
++         */
++        public Builder<T> serverName(@Nullable String srvName) {
++            this.srvName = srvName;
++
++            return this;
++        }
++
++        /**
+          * @param selectorSpins Defines how many non-blocking {@code selector.selectNow()} should be made before
+          *      falling into {@code selector.select(long)} in NIO server. Long value. Default is {@code 0}.
+          *      Can be set to {@code Long.MAX_VALUE} so selector threads will never block.
+          * @return This for chaining.
+          */
+         public Builder<T> selectorSpins(long selectorSpins) {
+             this.selectorSpins = selectorSpins;
+ 
+             return this;
+         }
+ 
+         /**
           * @param tcpNoDelay If TCP_NODELAY option should be set to accepted sockets.
           * @return This for chaining.
           */

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
index 6b00281,66f9176..c257a8c
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
@@@ -43,9 -45,9 +45,12 @@@ class GridSelectorNioSessionImpl extend
      @GridToStringExclude
      private SelectionKey key;
  
+     /** Current worker thread. */
+     private volatile GridNioWorker worker;
+ 
 +    /** Worker index for server */
 +    private final int selectorIdx;
 +
      /** Semaphore. */
      @GridToStringExclude
      private final Semaphore sem;

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryJob.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/resources/META-INF/classnames.properties
----------------------------------------------------------------------
diff --cc modules/core/src/main/resources/META-INF/classnames.properties
index deab7da,4c9596c..ac3a992
--- a/modules/core/src/main/resources/META-INF/classnames.properties
+++ b/modules/core/src/main/resources/META-INF/classnames.properties
@@@ -534,14 -534,7 +534,15 @@@ org.apache.ignite.internal.processors.c
  org.apache.ignite.internal.processors.cache.GridCacheUtils$9
  org.apache.ignite.internal.processors.cache.GridCacheValueCollection
  org.apache.ignite.internal.processors.cache.GridCacheValueCollection$1
 +org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$1
 +org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$2
 +org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$3
 +org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$4
 +org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$5
 +org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$6
 +org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$7
 +org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$8
+ org.apache.ignite.internal.processors.cache.GridDeferredAckMessageSender$DeferredAckMessageBuffer
  org.apache.ignite.internal.processors.cache.IgniteCacheProxy
  org.apache.ignite.internal.processors.cache.IgniteCacheProxy$1
  org.apache.ignite.internal.processors.cache.IgniteCacheProxy$10
@@@ -552,13 -545,15 +553,17 @@@ org.apache.ignite.internal.processors.c
  org.apache.ignite.internal.processors.cache.IgniteCacheProxy$5
  org.apache.ignite.internal.processors.cache.IgniteCacheProxy$8
  org.apache.ignite.internal.processors.cache.IgniteCacheProxy$9
 +org.apache.ignite.internal.processors.cache.IgniteRebalanceIterator
  org.apache.ignite.internal.processors.cache.KeyCacheObject
  org.apache.ignite.internal.processors.cache.KeyCacheObjectImpl
+ org.apache.ignite.internal.processors.cache.QueryCursorImpl$State
  org.apache.ignite.internal.processors.cache.affinity.GridCacheAffinityProxy
  org.apache.ignite.internal.processors.cache.binary.BinaryMetadataKey
  org.apache.ignite.internal.processors.cache.binary.CacheDefaultBinaryAffinityKeyMapper
 +org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$4
+ org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$1
+ org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$5
+ org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$6
  org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$MetaDataEntryFilter
  org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$MetaDataPredicate
  org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$MetadataProcessor
@@@ -690,13 -683,19 +697,19 @@@ org.apache.ignite.internal.processors.c
  org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$7
  org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$8
  org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$9
- org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$DeferredResponseBuffer
  org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicDeferredUpdateResponse
+ org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicSingleUpdateRequest
  org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicUpdateRequest
  org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicUpdateResponse
 -org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractSingleUpdateRequest
  org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture$1
++org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractSingleUpdateRequest
+ org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateRequest
+ org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicFullUpdateRequest
+ org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFilterRequest
  org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture$1
  org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture$2
+ org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateInvokeRequest
+ org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateRequest
  org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$1
  org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$2
  org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$3
@@@ -832,14 -832,18 +845,24 @@@ org.apache.ignite.internal.processors.c
  org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$7
  org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter$1
  org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter$ScanQueryFallbackClosableIterator
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryDetailMetricsAdapter
  org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter$1
  org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter$2
 +org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$1$1
 +org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$1$2
 +org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$10$1
 +org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$2
 +org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$3
 +org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$4
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$11
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$12
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$14
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$15
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$16
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$17
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$18$1
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$4$1
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$4$2
  org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$5
  org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$6
  org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$7
@@@ -1189,7 -1198,8 +1215,9 @@@ org.apache.ignite.internal.processors.p
  org.apache.ignite.internal.processors.platform.PlatformJavaObjectFactoryProxy
  org.apache.ignite.internal.processors.platform.PlatformNativeException
  org.apache.ignite.internal.processors.platform.PlatformNoCallbackException
 +org.apache.ignite.internal.processors.platform.cache.PlatformCache$3
+ org.apache.ignite.internal.processors.platform.PlatformProcessorImpl$1
+ org.apache.ignite.internal.processors.platform.cache.PlatformCache$5
  org.apache.ignite.internal.processors.platform.cache.PlatformCacheEntryFilter
  org.apache.ignite.internal.processors.platform.cache.PlatformCacheEntryFilterImpl
  org.apache.ignite.internal.processors.platform.cache.PlatformCacheEntryProcessor

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreAbstractSelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/managers/GridManagerStopSelfTest.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/internal/managers/GridManagerStopSelfTest.java
index 6d0b06a,328b775..50691b6
--- a/modules/core/src/test/java/org/apache/ignite/internal/managers/GridManagerStopSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/managers/GridManagerStopSelfTest.java
@@@ -26,6 -26,8 +26,7 @@@ import org.apache.ignite.internal.manag
  import org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager;
  import org.apache.ignite.internal.managers.failover.GridFailoverManager;
  import org.apache.ignite.internal.managers.loadbalancer.GridLoadBalancerManager;
 -import org.apache.ignite.internal.managers.swapspace.GridSwapSpaceManager;
+ import org.apache.ignite.internal.processors.pool.PoolProcessor;
  import org.apache.ignite.internal.processors.resource.GridResourceProcessor;
  import org.apache.ignite.marshaller.optimized.OptimizedMarshaller;
  import org.apache.ignite.resources.LoggerResource;

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheGetEntryAbstractTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManagerDeserializationTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheConfigVariationsFullApiTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheExpireAndUpdateConsistencyTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCachePeekModesAbstractTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheClientNodeChangingTopologyTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheMultiTxLockSelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridCacheAtomicInvalidPartitionHandlingSelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicClientOnlyMultiNodeFullApiSelfTest.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicClientOnlyMultiNodeFullApiSelfTest.java
index 60f9fd5,65f780b..736afb7
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicClientOnlyMultiNodeFullApiSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicClientOnlyMultiNodeFullApiSelfTest.java
@@@ -190,10 -192,10 +192,10 @@@ public class GridCacheAtomicClientOnlyM
      }
  
      /** {@inheritDoc} */
 -    @Override public void testEvictExpired() throws Exception {
 +    @Override public void _testEvictExpired() throws Exception {
          IgniteCache<String, Integer> cache = jcache();
  
-         String key = primaryKeysForCache(cache, 1).get(0);
+         final String key = primaryKeysForCache(cache, 1).get(0);
  
          cache.put(key, 1);
  

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicNearOnlyMultiNodeFullApiSelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/expiry/IgniteCacheExpiryPolicyAbstractTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/expiry/IgniteCacheExpiryPolicyTestSuite.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java
index 691e244,d2cb710..3890ce2
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java
@@@ -433,7 -537,7 +537,7 @@@ public abstract class CacheContinuousQu
  
              Affinity<Object> aff = grid(i).affinity(null);
  
-             Map<Integer, T2<Long, Long>> act = grid(i).cachex(null).context().topology().updateCounters();
 -            Map<Integer, Long> act = grid(i).cachex(null).context().topology().updateCounters(false);
++            Map<Integer, T2<Long, Long>> act = grid(i).cachex(null).context().topology().updateCounters(false);
  
              for (Map.Entry<Integer, Long> e : updCntrs.entrySet()) {
                  if (aff.mapPartitionToPrimaryAndBackups(e.getKey()).contains(grid(i).localNode()))

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessorSelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsIgniteMock.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/loadtests/hashmap/GridCacheTestContext.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/loadtests/hashmap/GridCacheTestContext.java
index 2716c4f,6c2c4c1..cec9e30
--- 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
@@@ -32,8 -32,9 +32,9 @@@ import org.apache.ignite.internal.proce
  import org.apache.ignite.internal.processors.cache.GridCacheMvccManager;
  import org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager;
  import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
 -import org.apache.ignite.internal.processors.cache.GridCacheSwapManager;
  import org.apache.ignite.internal.processors.cache.GridCacheTtlManager;
 +import org.apache.ignite.internal.processors.cache.database.IgniteCacheDatabaseSharedManager;
+ import org.apache.ignite.internal.processors.cache.GridCacheSharedTtlCleanupManager;
  import org.apache.ignite.internal.processors.cache.datastructures.CacheDataStructuresManager;
  import org.apache.ignite.internal.processors.cache.dr.GridOsCacheDrManager;
  import org.apache.ignite.internal.processors.cache.jta.CacheNoopJtaManager;

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteCacheProcessProxy.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
index 626ddab,c6281df..3b5e6b7
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
@@@ -146,14 -145,10 +150,17 @@@ public class IgniteBasicTestSuite exten
          suite.addTestSuite(NotStringSystemPropertyTest.class);
  
          suite.addTestSuite(MarshallerContextLockingSelfTest.class);
+         suite.addTestSuite(MarshallerContextSelfTest.class);
+ 
+         suite.addTestSuite(SecurityPermissionSetBuilderTest.class);
  
 +        // Basic DB data structures.
 +        suite.addTestSuite(BPlusTreeSelfTest.class);
 +        suite.addTestSuite(BPlusTreeFakeReuseSelfTest.class);
 +        suite.addTestSuite(BPlusTreeReuseSelfTest.class);
 +        suite.addTestSuite(MetadataStorageSelfTest.class);
 +        suite.addTestSuite(FreeListImplSelfTest.class);
 +
          return suite;
      }
  }

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
index a904a81,554bb3d..56c10ae
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
@@@ -78,7 -85,10 +84,9 @@@ import org.apache.ignite.internal.proce
  import org.apache.ignite.internal.processors.cache.GridCacheStopSelfTest;
  import org.apache.ignite.internal.processors.cache.GridCacheStorePutxSelfTest;
  import org.apache.ignite.internal.processors.cache.GridCacheStoreValueBytesSelfTest;
+ import org.apache.ignite.internal.processors.cache.GridCacheSwapCleanupTest;
  import org.apache.ignite.internal.processors.cache.GridCacheSwapPreloadSelfTest;
 -import org.apache.ignite.internal.processors.cache.GridCacheSwapReloadSelfTest;
+ import org.apache.ignite.internal.processors.cache.GridCacheTtlManagerEvictionSelfTest;
  import org.apache.ignite.internal.processors.cache.GridCacheTtlManagerSelfTest;
  import org.apache.ignite.internal.processors.cache.GridCacheTxPartitionedLocalStoreSelfTest;
  import org.apache.ignite.internal.processors.cache.IgniteCacheAtomicInvokeTest;
@@@ -223,6 -237,8 +236,7 @@@ public class IgniteCacheTestSuite exten
  
          // Swap tests.
          suite.addTestSuite(GridCacheSwapPreloadSelfTest.class);
 -        suite.addTestSuite(GridCacheSwapReloadSelfTest.class);
+         suite.addTestSuite(GridCacheSwapCleanupTest.class);
  
          // Common tests.
          suite.addTestSuite(CacheNamesSelfTest.class);
@@@ -312,8 -335,11 +332,13 @@@
  
          suite.addTestSuite(CacheTxFastFinishTest.class);
  
+         suite.addTestSuite(IgniteVariousConnectionNumberTest.class);
+         suite.addTestSuite(IgniteCommunicationBalanceTest.class);
+         suite.addTestSuite(IgniteCommunicationBalanceMultipleConnectionsTest.class);
+         suite.addTestSuite(IgniteIoTestMessagesTest.class);
+ 
 +        suite.addTestSuite(IgniteIncompleteCacheObjectSelfTest.class);
 +
          return suite;
      }
  }

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
index f716736,5a09a1c..fd32147
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
@@@ -296,8 -306,8 +299,9 @@@ public class IgniteCacheTestSuite4 exte
          suite.addTestSuite(CacheVersionedEntryReplicatedAtomicOffHeapSelfTest.class);
          suite.addTestSuite(CacheVersionedEntryReplicatedTransactionalOffHeapSelfTest.class);
  
 -        suite.addTestSuite(CacheSwapUnswapGetTest.class);
 -        suite.addTestSuite(CacheSwapUnswapGetTestSmallQueueSize.class);
 +        // TODO GG-11148.
 +        // suite.addTestSuite(CacheSwapUnswapGetTest.class);
++        // suite.addTestSuite(CacheSwapUnswapGetTestSmallQueueSize.class);
  
          suite.addTestSuite(GridCacheDhtTxPreloadSelfTest.class);
          suite.addTestSuite(GridCacheNearTxPreloadSelfTest.class);

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
index 42d5258,144aac6..29a7771
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
@@@ -21,19 -21,17 +21,21 @@@ import junit.framework.TestSuite
  import org.apache.ignite.internal.processors.cache.CacheNearReaderUpdateTest;
  import org.apache.ignite.internal.processors.cache.CacheRebalancingSelfTest;
  import org.apache.ignite.internal.processors.cache.CacheSerializableTransactionsTest;
 +import org.apache.ignite.internal.processors.cache.ClusterStatePartitionedSelfTest;
 +import org.apache.ignite.internal.processors.cache.ClusterStateReplicatedSelfTest;
  import org.apache.ignite.internal.processors.cache.EntryVersionConsistencyReadThroughTest;
+ import org.apache.ignite.internal.processors.cache.GridCacheOffHeapCleanupTest;
 -import org.apache.ignite.internal.processors.cache.GridCacheSwapSpaceSpiConsistencySelfTest;
  import org.apache.ignite.internal.processors.cache.IgniteCachePutStackOverflowSelfTest;
  import org.apache.ignite.internal.processors.cache.IgniteCacheReadThroughEvictionsVariationsSuite;
  import org.apache.ignite.internal.processors.cache.IgniteCacheStoreCollectionTest;
  import org.apache.ignite.internal.processors.cache.distributed.CacheLateAffinityAssignmentFairAffinityTest;
  import org.apache.ignite.internal.processors.cache.distributed.CacheLateAffinityAssignmentNodeJoinValidationTest;
  import org.apache.ignite.internal.processors.cache.distributed.CacheLateAffinityAssignmentTest;
 +import org.apache.ignite.internal.processors.cache.distributed.IgniteActiveOnStartNodeJoinValidationSelfTest;
 +import org.apache.ignite.internal.processors.cache.distributed.IgniteCachePartitionLossPolicySelfTest;
 +import org.apache.ignite.internal.processors.cache.distributed.replicated.IgniteCacheSyncRebalanceModeSelfTest;
  import org.apache.ignite.internal.processors.cache.distributed.IgniteCacheTxIteratorSelfTest;
+ import org.apache.ignite.internal.processors.cache.distributed.replicated.IgniteCacheSyncRebalanceModeSelfTest;
  import org.apache.ignite.internal.processors.cache.store.IgniteCacheWriteBehindNoUpdateSelfTest;
  
  /**
@@@ -63,12 -61,10 +65,14 @@@ public class IgniteCacheTestSuite5 exte
          suite.addTest(IgniteCacheReadThroughEvictionsVariationsSuite.suite());
          suite.addTestSuite(IgniteCacheTxIteratorSelfTest.class);
  
+         suite.addTestSuite(GridCacheOffHeapCleanupTest.class);
+ 
+         suite.addTestSuite(CacheRebalancingSelfTest.class);
+ 
 +        suite.addTestSuite(ClusterStatePartitionedSelfTest.class);
 +        suite.addTestSuite(ClusterStateReplicatedSelfTest.class);
 +        suite.addTestSuite(IgniteCachePartitionLossPolicySelfTest.class);
 +
-         suite.addTestSuite(CacheRebalancingSelfTest.class);
- 
          return suite;
      }
  }

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteKernalSelfTestSuite.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiTestSuite.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteUtilSelfTestSuite.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
index 55d1b57,5df44db..1445e16
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
@@@ -56,6 -57,8 +57,7 @@@ import javax.cache.CacheException
  import org.apache.ignite.IgniteCheckedException;
  import org.apache.ignite.IgniteException;
  import org.apache.ignite.IgniteLogger;
 -import org.apache.ignite.cache.CacheMemoryMode;
+ import org.apache.ignite.cache.query.QueryCancelledException;
  import org.apache.ignite.cache.query.QueryCursor;
  import org.apache.ignite.cache.query.SqlFieldsQuery;
  import org.apache.ignite.cache.query.SqlQuery;
@@@ -72,13 -76,12 +75,15 @@@ import org.apache.ignite.internal.proce
  import org.apache.ignite.internal.processors.cache.GridCacheAdapter;
  import org.apache.ignite.internal.processors.cache.GridCacheAffinityManager;
  import org.apache.ignite.internal.processors.cache.GridCacheContext;
 -import org.apache.ignite.internal.processors.cache.IgniteInternalCache;
 +import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
 +import org.apache.ignite.internal.processors.cache.KeyCacheObject;
  import org.apache.ignite.internal.processors.cache.QueryCursorImpl;
 +import org.apache.ignite.internal.processors.cache.database.tree.io.PageIO;
  import org.apache.ignite.internal.processors.cache.query.GridCacheQueryMarshallable;
  import org.apache.ignite.internal.processors.cache.query.GridCacheTwoStepQuery;
+ import org.apache.ignite.internal.processors.cache.query.IgniteQueryErrorCode;
+ import org.apache.ignite.internal.processors.query.GridQueryCancel;
 +import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
  import org.apache.ignite.internal.processors.query.GridQueryFieldMetadata;
  import org.apache.ignite.internal.processors.query.GridQueryFieldsResult;
  import org.apache.ignite.internal.processors.query.GridQueryFieldsResultAdapter;
@@@ -86,11 -89,8 +91,12 @@@ import org.apache.ignite.internal.proce
  import org.apache.ignite.internal.processors.query.GridQueryIndexing;
  import org.apache.ignite.internal.processors.query.GridQueryProperty;
  import org.apache.ignite.internal.processors.query.GridQueryTypeDescriptor;
+ import org.apache.ignite.internal.processors.query.IgniteSQLException;
  import org.apache.ignite.internal.processors.query.h2.opt.GridH2DefaultTableEngine;
 +import org.apache.ignite.internal.processors.query.h2.database.H2RowFactory;
 +import org.apache.ignite.internal.processors.query.h2.database.H2TreeIndex;
 +import org.apache.ignite.internal.processors.query.h2.database.io.H2InnerIO;
 +import org.apache.ignite.internal.processors.query.h2.database.io.H2LeafIO;
  import org.apache.ignite.internal.processors.query.h2.opt.GridH2KeyValueRowOffheap;
  import org.apache.ignite.internal.processors.query.h2.opt.GridH2KeyValueRowOnheap;
  import org.apache.ignite.internal.processors.query.h2.opt.GridH2QueryContext;
@@@ -1861,12 -2007,8 +1993,12 @@@ public class IgniteH2Indexing implement
                  U.error(log, "Failed to drop schema on cache stop (will ignore): " + U.maskName(ccfg.getName()), e);
              }
  
 +            for (TableDescriptor tblDesc : rmv.tbls.values())
 +                for (Index idx : tblDesc.tbl.getIndexes())
 +                    idx.close(null);
 +
              for (Iterator<Map.Entry<TwoStepCachedQueryKey, TwoStepCachedQuery>> it = twoStepCache.entrySet().iterator();
-                  it.hasNext();) {
+                 it.hasNext();) {
                  Map.Entry<TwoStepCachedQueryKey, TwoStepCachedQuery> e = it.next();
  
                  if (F.eq(e.getKey().space, ccfg.getName()))
@@@ -2991,8 -3062,23 +3123,23 @@@
          }
  
          /** {@inheritDoc} */
+         @Override public void setColumnValue(Object key, Object val, Object colVal, int col) {
+             try {
+                 props[col].setValue(key, val, colVal);
+             }
+             catch (IgniteCheckedException e) {
+                 throw DbException.convert(e);
+             }
+         }
+ 
+         /** {@inheritDoc} */
+         @Override public boolean isColumnKeyProperty(int col) {
+             return props[col].key();
+         }
+ 
+         /** {@inheritDoc} */
          @Override public GridH2KeyValueRowOffheap createPointer(long ptr) {
 -            GridH2KeyValueRowOffheap row = schema.rowCache.get(ptr);
 +            GridH2KeyValueRowOffheap row = (GridH2KeyValueRowOffheap)schema.rowCache.get(ptr);
  
              if (row != null) {
                  assert row.pointer() == ptr : ptr + " " + row.pointer();

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2RowDescriptor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
index 4ec3437,1f00ed2..333908f
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
@@@ -63,7 -63,7 +63,8 @@@ import org.apache.ignite.internal.proce
  import org.apache.ignite.internal.processors.cache.query.GridCacheSqlQuery;
  import org.apache.ignite.internal.processors.cache.query.GridCacheTwoStepQuery;
  import org.apache.ignite.internal.processors.query.GridQueryCacheObjectsIterator;
+ import org.apache.ignite.internal.processors.query.GridQueryCancel;
 +import org.apache.ignite.internal.processors.query.h2.GridH2ResultSetIterator;
  import org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing;
  import org.apache.ignite.internal.processors.query.h2.opt.GridH2QueryContext;
  import org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter;
@@@ -1271,25 -1368,20 +1366,44 @@@ public class GridReduceQueryExecutor 
      /**
       *
       */
 +    private static class Iter extends GridH2ResultSetIterator<List<?>> {
 +        /** */
 +        private static final long serialVersionUID = 0L;
 +
 +        /**
 +         * @param data Data array.
 +         * @throws IgniteCheckedException If failed.
 +         */
 +        protected Iter(ResultSet data) throws IgniteCheckedException {
 +            super(data, true, false);
 +        }
 +
 +        /** {@inheritDoc} */
 +        @Override protected List<?> createRow() {
 +            ArrayList<Object> res = new ArrayList<>(row.length);
 +
 +            Collections.addAll(res, row);
 +
 +            return res;
 +        }
 +    }
- }
++    /**
++     *
++     */
+     private class ExplicitPartitionsSpecializer implements IgniteBiClosure<ClusterNode,Message,Message> {
+         /** */
+         private final Map<ClusterNode,IntArray> partsMap;
+ 
+         /**
+          * @param partsMap Partitions map.
+          */
+         private ExplicitPartitionsSpecializer(Map<ClusterNode,IntArray> partsMap) {
+             this.partsMap = partsMap;
+         }
+ 
+         /** {@inheritDoc} */
+         @Override public Message apply(ClusterNode n, Message msg) {
+             return copy(msg, n, partsMap);
+         }
+     }
+ }

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapEvictQueryTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheQueryMultiThreadedSelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/IgniteCacheReplicatedFieldsQuerySelfTest.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/IgniteCacheReplicatedFieldsQuerySelfTest.java
index 1c75b0b,4ec840c..4d95e38
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/IgniteCacheReplicatedFieldsQuerySelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/IgniteCacheReplicatedFieldsQuerySelfTest.java
@@@ -47,13 -48,15 +48,15 @@@ public class IgniteCacheReplicatedField
       * @throws Exception If failed.
       */
      public void testLostIterator() throws Exception {
+         IgniteCache<Object, Object> cache = grid(0).cache(null);
+ 
          QueryCursor<List<?>> qry = null;
  
-         int maximumQryIterCnt = GridCacheQueryManager.MAX_ITERATORS;
+         int maximumQueryIteratorCount = cache.getConfiguration(CacheConfiguration.class).getMaxQueryIteratorsCount();
  
-         for (int i = 0; i < maximumQryIterCnt + 1; i++) {
-             QueryCursor<List<?>> q = intCache
-                 .query(new SqlFieldsQuery("select _key from Integer where _key >= 0 order by _key"));
+         for (int i = 0; i < maximumQueryIteratorCount + 1; i++) {
+             QueryCursor<List<?>> q = cache
 -                .query(new SqlFieldsQuery("select _key from Integer where _key >= 0 order by _key"));
++               .query(new SqlFieldsQuery("select _key from Integer where _key >= 0 order by _key"));
  
              assertEquals(0, q.iterator().next().get(0));
  

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/IgniteCacheReplicatedQuerySelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
index 7669b5f,512001f..593ba95
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
@@@ -369,10 -370,10 +372,10 @@@ public abstract class GridIndexingSpiAb
              assertEquals(vals[i++], f);
          }
  
-         assertFalse(fieldsRes.iterator().hasNext());
+         assertFalse(it.hasNext());
  
          // Remove
 -        spi.remove(typeAA.space(), key(2), aa(2, "Valera", 19));
 +        spi.remove(typeAA.space(), typeAA, key(2), 0, aa(2, "Valera", 19), null);
  
          assertEquals(1, spi.size(typeAA.space(), typeAA));
          assertEquals(2, spi.size(typeAB.space(), typeAB));

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/BaseH2CompareQueryTest.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/BaseH2CompareQueryTest.java
index 1648beb,7cae585..1324b72
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/BaseH2CompareQueryTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/BaseH2CompareQueryTest.java
@@@ -36,8 -35,9 +36,9 @@@ import org.apache.ignite.cache.query.Sq
  import org.apache.ignite.cache.query.SqlQuery;
  import org.apache.ignite.cache.query.annotations.QuerySqlField;
  import org.apache.ignite.cache.query.annotations.QuerySqlFunction;
 -import org.apache.ignite.configuration.CacheConfiguration;
 +import org.apache.ignite.configuration.IgniteConfiguration;
  import org.apache.ignite.testframework.GridTestUtils;
+ import org.apache.ignite.testsuites.IgniteIgnore;
  
  /**
   * Base set of queries to compare query results from h2 database instance and mixed ignite caches (replicated and partitioned)

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/GridQueryParsingTest.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/GridQueryParsingTest.java
index e6b8d91,537ccdf..e5b3101
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/GridQueryParsingTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/GridQueryParsingTest.java
@@@ -89,13 -78,19 +92,13 @@@ public class GridQueryParsingTest exten
          cc.setNearConfiguration(null);
          cc.setWriteSynchronizationMode(FULL_SYNC);
          cc.setRebalanceMode(SYNC);
 -        cc.setSwapEnabled(false);
          cc.setSqlFunctionClasses(GridQueryParsingTest.class);
 -        cc.setIndexedTypes(
 -            String.class, Address.class,
 -            String.class, Person.class
 -        );
 +        cc.setIndexedTypes(clsK, clsV);
  
 -        c.setCacheConfiguration(cc);
 -
 -        return c;
 +        return cc;
      }
  
-     /** */
+     /** {@inheritDoc} */
      @Override protected void beforeTestsStarted() throws Exception {
          super.beforeTestsStarted();
  

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
index 21d2bec,783f831..babd332
--- a/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
@@@ -40,7 -42,7 +42,8 @@@ import org.apache.ignite.internal.proce
  import org.apache.ignite.internal.processors.cache.IgniteCacheJoinPartitionedAndReplicatedTest;
  import org.apache.ignite.internal.processors.cache.IgniteCacheJoinQueryWithAffinityKeyTest;
  import org.apache.ignite.internal.processors.cache.IgniteCacheLargeResultSelfTest;
+ import org.apache.ignite.internal.processors.cache.IgniteCacheMergeSqlQuerySelfTest;
 +import org.apache.ignite.internal.processors.cache.IgniteCacheMultipleIndexedTypesTest;
  import org.apache.ignite.internal.processors.cache.IgniteCacheOffheapEvictQueryTest;
  import org.apache.ignite.internal.processors.cache.IgniteCacheOffheapIndexScanTest;
  import org.apache.ignite.internal.processors.cache.IgniteCacheOffheapTieredMultithreadedSelfTest;
@@@ -153,6 -162,9 +163,11 @@@ public class IgniteCacheQuerySelfTestSu
          suite.addTestSuite(IgniteBinaryObjectQueryArgumentsOffheapLocalTest.class);
          suite.addTestSuite(IgniteBinaryObjectLocalQueryArgumentsTest.class);
  
+         suite.addTestSuite(IndexingSpiQuerySelfTest.class);
+         suite.addTestSuite(IndexingSpiQueryTxSelfTest.class);
+ 
++        suite.addTestSuite(IgniteCacheMultipleIndexedTypesTest.class);
++
          return suite;
      }
  }

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/spring/src/main/java/org/apache/ignite/IgniteSpringBean.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala
----------------------------------------------------------------------
diff --cc modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala
index 4a54035,04a68ae..193fac8
--- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala
+++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala
@@@ -269,9 -288,11 +270,9 @@@ class VisorCacheCommand 
                      if (hasArgFlag("scan", argLst))
                          VisorCacheScanCommand().scan(argLst, node)
                      else {
-                         if (aggrData.nonEmpty && !aggrData.exists(cache => safeEquals(cache.name(), name) && cache.system())) {
+                         if (aggrData.nonEmpty && !aggrData.exists(cache => F.eq(cache.name(), name) && cache.system())) {
                              if (hasArgFlag("clear", argLst))
                                  VisorCacheClearCommand().clear(argLst, node)
 -                            else if (hasArgFlag("swap", argLst))
 -                                VisorCacheSwapCommand().swap(argLst, node)
                              else if (hasArgFlag("stop", argLst))
                                  VisorCacheStopCommand().stop(argLst, node)
                              else if (hasArgFlag("reset", argLst))

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/yardstick/config/ignite-base-config.xml
----------------------------------------------------------------------
diff --cc modules/yardstick/config/ignite-base-config.xml
index 6799982,615cb42..047738d
--- a/modules/yardstick/config/ignite-base-config.xml
+++ b/modules/yardstick/config/ignite-base-config.xml
@@@ -119,38 -140,42 +126,40 @@@
  
                      <property name="atomicityMode" value="ATOMIC"/>
  
 -                    <property name="swapEnabled" value="false"/>
 -
 -                    <property name="indexedTypes">
 +                    <property name="typeMetadata">
                          <list>
-                             <bean class="org.apache.ignite.cache.CacheTypeMetadata">
-                                 <property name="keyType" value="java.lang.Integer"/>
-                                 <property name="valueType" value="org.apache.ignite.yardstick.cache.model.Organization"/>
- 
-                                 <property name="ascendingFields">
-                                     <map>
-                                         <entry key="id" value="java.lang.Integer"/>
-                                         <entry key="name" value="java.lang.String"/>
-                                     </map>
-                                 </property>
-                             </bean>
-                             <bean class="org.apache.ignite.cache.CacheTypeMetadata">
-                                 <property name="keyType" value="java.lang.Integer"/>
-                                 <property name="valueType" value="org.apache.ignite.yardstick.cache.model.Person"/>
- 
-                                 <property name="ascendingFields">
-                                     <map>
-                                         <entry key="id" value="java.lang.Integer"/>
-                                         <entry key="orgId" value="java.lang.Integer"/>
-                                         <entry key="salary" value="java.lang.Double"/>
-                                     </map>
-                                 </property>
- 
-                                 <property name="queryFields">
-                                     <map>
-                                         <entry key="firstName" value="java.lang.String"/>
-                                         <entry key="lastName" value="java.lang.String"/>
-                                     </map>
-                                 </property>
-                             </bean>
+                             <value>java.lang.Integer</value>
+                             <value>org.apache.ignite.yardstick.cache.model.Person1</value>
+ 
+                             <value>java.lang.Integer</value>
+                             <value>org.apache.ignite.yardstick.cache.model.Person2</value>
+ 
+                             <value>java.lang.Integer</value>
+                             <value>org.apache.ignite.yardstick.cache.model.Person8</value>
+                         </list>
+                     </property>
+                 </bean>
+ 
+                 <bean class="org.apache.ignite.configuration.CacheConfiguration">
+                     <property name="name" value="query"/>
+ 
+                     <property name="cacheMode" value="PARTITIONED"/>
+ 
+                     <property name="atomicityMode" value="ATOMIC"/>
+ 
+                     <property name="indexedTypes">
+                         <list>
+                             <value>java.lang.Integer</value>
+                             <value>org.apache.ignite.yardstick.cache.model.Organization</value>
+ 
+                             <value>java.lang.Integer</value>
+                             <value>org.apache.ignite.yardstick.cache.model.Person</value>
+ 
+                             <value>java.lang.Integer</value>
+                             <value>org.apache.ignite.yardstick.cache.model.SampleValue</value>
+ 
+                             <value>java.lang.Integer</value>
+                             <value>java.lang.Integer</value>
                          </list>
                      </property>
                  </bean>

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/yardstick/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteNode.java
----------------------------------------------------------------------