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 2017/03/14 14:43:14 UTC

[7/7] ignite git commit: Merge master into ignite-3477

Merge master into ignite-3477


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

Branch: refs/heads/ignite-3477-master
Commit: 0bdcbb359bd818d8f3164eec48697b4bd0e5190a
Parents: 91210eb
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Tue Mar 14 17:41:53 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Tue Mar 14 17:41:53 2017 +0300

----------------------------------------------------------------------
 .../processors/cache/GridCacheAdapter.java      |  1 -
 .../processors/cache/GridCacheEntryEx.java      |  4 +-
 .../cache/IgniteCacheOffheapManagerImpl.java    |  4 +-
 .../GridDistributedCacheAdapter.java            |  4 +-
 .../dht/GridClientPartitionTopology.java        |  1 +
 .../dht/GridDhtPartitionTopology.java           |  1 +
 .../cache/query/GridCacheQueryManager.java      |  4 --
 .../service/GridServiceProcessor.java           |  2 +-
 .../ignite/internal/util/IgniteUtils.java       |  1 +
 .../internal/visor/query/VisorQueryArg.java     | 13 ++++-
 .../processors/cache/GridCacheTestEntryEx.java  |  2 -
 .../testsuites/IgniteCacheTestSuite2.java       | 13 +----
 .../processors/query/h2/IgniteH2Indexing.java   | 29 +++++------
 .../query/h2/database/H2PkHashIndex.java        |  8 ++-
 .../query/h2/database/H2TreeIndex.java          |  5 ++
 .../query/h2/opt/GridH2ScanIndex.java           | 55 +++++++++++---------
 .../processors/query/h2/opt/GridH2Table.java    | 22 ++++++--
 .../query/h2/opt/GridH2TreeIndex.java           |  5 --
 .../query/IgniteSqlSchemaIndexingTest.java      | 15 +++---
 .../query/h2/sql/H2CompareBigQueryTest.java     |  2 +-
 .../commands/cache/VisorCacheScanCommand.scala  |  2 +-
 .../yardstick/cache/IgniteGetBenchmark.java     | 28 ----------
 22 files changed, 104 insertions(+), 117 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/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 fc1d9e3..6bad92a 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
@@ -2030,7 +2030,6 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
                                 res = entry.innerGetVersioned(
                                     null,
                                     null,
-                                    /*unmarshal*/true,
                                     updateMetrics,
                                     evt,
                                     subjId,

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java
index 8e6a9ec..99f9744 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java
@@ -320,7 +320,6 @@ public interface GridCacheEntryEx {
         throws IgniteCheckedException, GridCacheEntryRemovedException;
 
     /**
-     * @param readSwap Flag indicating whether to check swap memory.
      * @param updateMetrics If {@code true} then metrics should be updated.
      * @param evt Flag to signal event notification.
      * @param subjId Subject ID initiated this read.
@@ -332,8 +331,7 @@ public interface GridCacheEntryEx {
      * @throws GridCacheEntryRemovedException If entry was removed.
      * @return Cached value, entry version and flag indicating if entry was reserved.
      */
-    public EntryGetResult innerGetAndReserveForLoad(boolean readSwap,
-        boolean updateMetrics,
+    public EntryGetResult innerGetAndReserveForLoad(boolean updateMetrics,
         boolean evt,
         UUID subjId,
         String taskName,

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
index f47d75e..0cfb0c8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
@@ -261,7 +261,7 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
 
             for (GridDhtLocalPartition locPart : cctx.topology().currentLocalPartitions()) {
                 if (primary) {
-                    if (cctx.affinity().primary(locNode, locPart.id(), topVer)) {
+                    if (cctx.affinity().primaryByPartition(locNode, locPart.id(), topVer)) {
                         cnt += locPart.size();
 
                         continue;
@@ -269,7 +269,7 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
                 }
 
                 if (backup) {
-                    if (cctx.affinity().backup(locNode, locPart.id(), topVer))
+                    if (cctx.affinity().backupByPartition(locNode, locPart.id(), topVer))
                         cnt += locPart.size();
                 }
             }

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java
index ed0d887..af3b040 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java
@@ -300,8 +300,8 @@ public abstract class GridDistributedCacheAdapter<K, V> extends GridCacheAdapter
 
             IgniteCacheOffheapManager offheap = ctx.offheap();
 
-            if (ctx.affinity().primary(ctx.localNode(), partition, topVer) && modes.primary ||
-                ctx.affinity().backup(ctx.localNode(), partition, topVer) && modes.backup)
+            if (ctx.affinity().primaryByPartition(ctx.localNode(), partition, topVer) && modes.primary ||
+                ctx.affinity().backupByPartition(ctx.localNode(), partition, topVer) && modes.backup)
                 size += offheap.entriesCount(partition);
         }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
index eb23c43..ef52f7b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
@@ -39,6 +39,7 @@ import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.Gri
 import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionFullMap;
 import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionMap2;
 import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture;
+import org.apache.ignite.internal.util.F0;
 import org.apache.ignite.internal.util.GridAtomicLong;
 import org.apache.ignite.internal.util.tostring.GridToStringExclude;
 import org.apache.ignite.internal.util.typedef.F;

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
index 4f8de4e..ac3e2c8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
@@ -17,6 +17,7 @@
 
 package org.apache.ignite.internal.processors.cache.distributed.dht;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
index da5b326..d746d54 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
@@ -3041,10 +3041,6 @@ public abstract class GridCacheQueryManager<K, V> extends GridCacheManagerAdapte
 
                 KeyCacheObject key = row.key();
 
-                if (entry.deleted())
-                    continue;
-
-                KeyCacheObject key = entry.key();
                 CacheObject val;
 
                 if (expiryPlc != null) {

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
----------------------------------------------------------------------
diff --git 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
index 13cbf1d..94cf6e0 100644
--- 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
@@ -1676,7 +1676,7 @@ public class GridServiceProcessor extends GridProcessorAdapter implements Ignite
                         while (it.hasNext()) {
                             Cache.Entry<Object, Object> e = it.next();
 
-                            if (cache.context().affinity().primary(ctx.grid().localNode(), e.getKey(), topVer)) {
+                            if (cache.context().affinity().primaryByKey(ctx.grid().localNode(), e.getKey(), topVer)) {
                                 String name = ((GridServiceAssignmentsKey)e.getKey()).name();
 
                                 try {

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
diff --git 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
index e7951f9..0455cd0 100644
--- 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
@@ -238,6 +238,7 @@ import org.jetbrains.annotations.Nullable;
 import org.jsr166.ConcurrentHashMap8;
 import sun.misc.SharedSecrets;
 import sun.misc.URLClassPath;
+import sun.misc.Unsafe;
 
 import static org.apache.ignite.IgniteSystemProperties.IGNITE_DISABLE_HOSTNAME_VERIFIER;
 import static org.apache.ignite.IgniteSystemProperties.IGNITE_HOME;

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryArg.java
index a5eb3eb..c58c51c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryArg.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryArg.java
@@ -41,16 +41,20 @@ public class VisorQueryArg implements Serializable {
     /** Result batch size. */
     private final int pageSize;
 
+    /** Enforce join order flag. */
+    private final boolean enforceJoinOrder;
+
     /**
      * @param cacheName Cache name for query.
      * @param qryTxt Query text.
      * @param loc Flag whether to execute query locally.
      * @param pageSize Result batch size.
      */
-    public VisorQueryArg(String cacheName, String qryTxt, boolean distributedJoins, boolean loc, int pageSize) {
+    public VisorQueryArg(String cacheName, String qryTxt, boolean distributedJoins, boolean enforceJoinOrder, boolean loc, int pageSize) {
         this.cacheName = cacheName;
         this.qryTxt = qryTxt;
         this.distributedJoins = distributedJoins;
+        this.enforceJoinOrder = enforceJoinOrder;
         this.loc = loc;
         this.pageSize = pageSize;
     }
@@ -89,4 +93,11 @@ public class VisorQueryArg implements Serializable {
     public int pageSize() {
         return pageSize;
     }
+
+    /**
+     * @return Enforce join order flag.
+     */
+    public boolean enforceJoinOrder() {
+        return enforceJoinOrder;
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java
index 49f0c98..46dec44 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java
@@ -34,7 +34,6 @@ import org.apache.ignite.internal.processors.cache.version.GridCacheVersionedEnt
 import org.apache.ignite.internal.processors.dr.GridDrType;
 import org.apache.ignite.internal.util.lang.GridMetadataAwareAdapter;
 import org.apache.ignite.internal.util.lang.GridTuple3;
-import org.apache.ignite.internal.util.typedef.T2;
 import org.jetbrains.annotations.Nullable;
 
 /**
@@ -416,7 +415,6 @@ public class GridCacheTestEntryEx extends GridMetadataAwareAdapter implements Gr
 
     /** @inheritDoc */
     @Override public EntryGetResult innerGetAndReserveForLoad(
-        boolean readSwap,
         boolean updateMetrics,
         boolean evt,
         UUID subjId,

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
index a759690..6710087 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
@@ -40,7 +40,6 @@ import org.apache.ignite.internal.processors.cache.IgniteCacheEntryProcessorNode
 import org.apache.ignite.internal.processors.cache.IgniteCacheIncrementTxTest;
 import org.apache.ignite.internal.processors.cache.IgniteCachePartitionMapUpdateTest;
 import org.apache.ignite.internal.processors.cache.IgniteDynamicCacheAndNodeStop;
-import org.apache.ignite.internal.processors.cache.OffheapCacheOnClientsTest;
 import org.apache.ignite.internal.processors.cache.distributed.CacheLoadingConcurrentGridStartSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.CacheLoadingConcurrentGridStartSelfTestAllowOverwrite;
 import org.apache.ignite.internal.processors.cache.distributed.CacheLockReleaseNodeLeaveTest;
@@ -56,10 +55,7 @@ import org.apache.ignite.internal.processors.cache.distributed.dht.GridCacheColo
 import org.apache.ignite.internal.processors.cache.distributed.dht.GridCacheColocatedPreloadRestartSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.dht.GridCacheColocatedPrimarySyncSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.dht.GridCacheColocatedTxSingleThreadedSelfTest;
-import org.apache.ignite.internal.processors.cache.distributed.dht.GridCacheDhtAtomicEvictionNearReadersSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.dht.GridCacheDhtEntrySelfTest;
-import org.apache.ignite.internal.processors.cache.distributed.dht.GridCacheDhtEvictionNearReadersSelfTest;
-import org.apache.ignite.internal.processors.cache.distributed.dht.GridCacheDhtEvictionSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.dht.GridCacheDhtEvictionsDisabledSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.dht.GridCacheDhtExpiredEntriesPreloadSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.dht.GridCacheDhtMappingSelfTest;
@@ -77,10 +73,8 @@ import org.apache.ignite.internal.processors.cache.distributed.dht.GridCachePart
 import org.apache.ignite.internal.processors.cache.distributed.dht.GridCachePartitionedTopologyChangeSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.dht.GridCachePartitionedUnloadEventsSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.dht.IgniteCachePartitionedBackupNodeFailureRecoveryTest;
-import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAtomicNearEvictionEventSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAtomicNearMultiNodeSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAtomicNearReadersSelfTest;
-import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheNearEvictionEventSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheNearExpiredEntriesPreloadSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheNearJobExecutionSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheNearMultiGetSelfTest;
@@ -114,19 +108,17 @@ import org.apache.ignite.internal.processors.cache.distributed.near.GridCachePar
 import org.apache.ignite.internal.processors.cache.distributed.near.GridCachePartitionedTxSingleThreadedSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.near.GridCachePartitionedTxTimeoutSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheRendezvousAffinityClientSelfTest;
-import org.apache.ignite.internal.processors.cache.distributed.near.GridPartitionedBackupLoadSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.near.GridNearCacheStoreUpdateTest;
+import org.apache.ignite.internal.processors.cache.distributed.near.GridNearOffheapCacheStoreUpdateTest;
+import org.apache.ignite.internal.processors.cache.distributed.near.GridPartitionedBackupLoadSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.near.NearCacheSyncUpdateTest;
 import org.apache.ignite.internal.processors.cache.distributed.near.NoneRebalanceModeSelfTest;
-import org.apache.ignite.internal.processors.cache.distributed.near.GridNearOffheapCacheStoreUpdateTest;
-import org.apache.ignite.internal.processors.cache.distributed.replicated.GridCacheReplicatedEvictionSelfTest;
 import org.apache.ignite.internal.processors.cache.distributed.replicated.GridCacheReplicatedJobExecutionTest;
 import org.apache.ignite.internal.processors.cache.local.GridCacheLocalAtomicBasicStoreSelfTest;
 import org.apache.ignite.internal.processors.cache.local.GridCacheLocalAtomicGetAndTransformStoreSelfTest;
 import org.apache.ignite.internal.processors.cache.local.GridCacheLocalBasicApiSelfTest;
 import org.apache.ignite.internal.processors.cache.local.GridCacheLocalBasicStoreSelfTest;
 import org.apache.ignite.internal.processors.cache.local.GridCacheLocalEventSelfTest;
-import org.apache.ignite.internal.processors.cache.local.GridCacheLocalEvictionEventSelfTest;
 import org.apache.ignite.internal.processors.cache.local.GridCacheLocalGetAndTransformStoreSelfTest;
 import org.apache.ignite.internal.processors.cache.local.GridCacheLocalIsolatedNodesSelfTest;
 import org.apache.ignite.internal.processors.cache.local.GridCacheLocalLoadAllSelfTest;
@@ -274,7 +266,6 @@ public class IgniteCacheTestSuite2 extends TestSuite {
         suite.addTest(new TestSuite(IgniteNoCustomEventsOnNodeStart.class));
 
         suite.addTest(new TestSuite(CacheExchangeMessageDuplicatedStateTest.class));
-        suite.addTest(new TestSuite(OffheapCacheOnClientsTest.class));
         suite.addTest(new TestSuite(CacheConcurrentReadThroughTest.class));
 
         suite.addTest(new TestSuite(GridNearCacheStoreUpdateTest.class));

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
----------------------------------------------------------------------
diff --git 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
index a3e492a..fa0437f 100644
--- 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
@@ -2994,28 +2994,23 @@ public class IgniteH2Indexing implements GridQueryIndexing {
             GridH2Table tbl,
             List<IndexColumn> cols
         ) {
-            try {
-                GridCacheSharedContext<Object, Object> scctx = ctx.cache().context();
+            GridCacheSharedContext<Object, Object> scctx = ctx.cache().context();
 
-                GridCacheContext cctx = scctx.cacheContext(cacheId);
+            GridCacheContext cctx = scctx.cacheContext(cacheId);
 
-                if (cctx.affinityNode() && cctx.offheapIndex()) {
-                    assert pkHashIdx == null : pkHashIdx;
+            if (cctx.affinityNode() && cctx.offheapIndex()) {
+                assert pkHashIdx == null : pkHashIdx;
 
-                    pkHashIdx = new H2PkHashIndex(
-                        cctx,
-                        tbl,
-                        name,
-                        cols);
-
-                    return pkHashIdx;
-                }
+                pkHashIdx = new H2PkHashIndex(
+                    cctx,
+                    tbl,
+                    name,
+                    cols);
 
-                return new GridH2TreeIndex(name, tbl, true, cols);
-            }
-            catch (IgniteCheckedException e) {
-                throw new IgniteException(e);
+                return pkHashIdx;
             }
+
+            return new GridH2TreeIndex(name, tbl, true, cols);
         }
 
         /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2PkHashIndex.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2PkHashIndex.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2PkHashIndex.java
index eb34be6..fb6ea95 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2PkHashIndex.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2PkHashIndex.java
@@ -59,14 +59,13 @@ public class H2PkHashIndex extends GridH2IndexBase {
      * @param tbl Table.
      * @param name Index name.
      * @param colsList Index columns.
-     * @throws IgniteCheckedException If failed.
      */
     public H2PkHashIndex(
         GridCacheContext<?, ?> cctx,
         GridH2Table tbl,
         String name,
         List<IndexColumn> colsList
-    ) throws IgniteCheckedException {
+    ) {
 
         IndexColumn[] cols = colsList.toArray(new IndexColumn[colsList.size()]);
 
@@ -79,6 +78,11 @@ public class H2PkHashIndex extends GridH2IndexBase {
     }
 
     /** {@inheritDoc} */
+    @Override protected int segmentsCount() {
+        return 1;
+    }
+
+    /** {@inheritDoc} */
     @Override public Cursor find(Session ses, final SearchRow lower, final SearchRow upper) {
         IndexingQueryFilter f = threadLocalFilter();
         IgniteBiPredicate<Object, Object> p = null;

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2TreeIndex.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2TreeIndex.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2TreeIndex.java
index 4be40af..19f7bc6 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2TreeIndex.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2TreeIndex.java
@@ -138,6 +138,11 @@ public class H2TreeIndex extends GridH2IndexBase {
     }
 
     /** {@inheritDoc} */
+    @Override protected int segmentsCount() {
+        return 1;
+    }
+
+    /** {@inheritDoc} */
     @Override public Cursor find(Session ses, SearchRow lower, SearchRow upper) {
         try {
             IndexingQueryFilter f = threadLocalFilter();

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2ScanIndex.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2ScanIndex.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2ScanIndex.java
index 3ddd490..3b486c6 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2ScanIndex.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2ScanIndex.java
@@ -42,7 +42,7 @@ public abstract class GridH2ScanIndex<D extends BaseIndex> extends BaseIndex {
     private static final IndexType TYPE = IndexType.createScan(false);
 
     /** */
-    protected final D delegate;
+    private final D delegate;
 
     /**
      * @param delegate Delegate.
@@ -51,6 +51,13 @@ public abstract class GridH2ScanIndex<D extends BaseIndex> extends BaseIndex {
         this.delegate = delegate;
     }
 
+    /**
+     * @return Delegate.
+     */
+    protected D delegate() {
+        return delegate;
+    }
+
     /** {@inheritDoc} */
     @Override public long getDiskSpaceUsed() {
         return 0;
@@ -58,7 +65,7 @@ public abstract class GridH2ScanIndex<D extends BaseIndex> extends BaseIndex {
 
     /** {@inheritDoc} */
     @Override public void add(Session ses, Row row) {
-        delegate.add(ses, row);
+        delegate().add(ses, row);
     }
 
     /** {@inheritDoc} */
@@ -73,7 +80,7 @@ public abstract class GridH2ScanIndex<D extends BaseIndex> extends BaseIndex {
 
     /** {@inheritDoc} */
     @Override public boolean canScan() {
-        return delegate.canScan();
+        return delegate().canScan();
     }
 
     /** {@inheritDoc} */
@@ -88,7 +95,7 @@ public abstract class GridH2ScanIndex<D extends BaseIndex> extends BaseIndex {
 
     /** {@inheritDoc} */
     @Override public int compareRows(SearchRow rowData, SearchRow compare) {
-        return delegate.compareRows(rowData, compare);
+        return delegate().compareRows(rowData, compare);
     }
 
     /** {@inheritDoc} */
@@ -98,7 +105,7 @@ public abstract class GridH2ScanIndex<D extends BaseIndex> extends BaseIndex {
 
     /** {@inheritDoc} */
     @Override public Cursor find(Session ses, SearchRow first, SearchRow last) {
-        return delegate.find(ses, null, null);
+        return delegate().find(ses, null, null);
     }
 
     /** {@inheritDoc} */
@@ -118,12 +125,12 @@ public abstract class GridH2ScanIndex<D extends BaseIndex> extends BaseIndex {
 
     /** {@inheritDoc} */
     @Override public Column[] getColumns() {
-        return delegate.getColumns();
+        return delegate().getColumns();
     }
 
     /** {@inheritDoc} */
     @Override public IndexColumn[] getIndexColumns() {
-        return delegate.getIndexColumns();
+        return delegate().getIndexColumns();
     }
 
     /** {@inheritDoc} */
@@ -133,27 +140,27 @@ public abstract class GridH2ScanIndex<D extends BaseIndex> extends BaseIndex {
 
     /** {@inheritDoc} */
     @Override public Row getRow(Session ses, long key) {
-        return delegate.getRow(ses, key);
+        return delegate().getRow(ses, key);
     }
 
     /** {@inheritDoc} */
     @Override public long getRowCount(Session ses) {
-        return delegate.getRowCount(ses);
+        return delegate().getRowCount(ses);
     }
 
     /** {@inheritDoc} */
     @Override public long getRowCountApproximation() {
-        return delegate.getRowCountApproximation();
+        return delegate().getRowCountApproximation();
     }
 
     /** {@inheritDoc} */
     @Override public Table getTable() {
-        return delegate.getTable();
+        return delegate().getTable();
     }
 
     /** {@inheritDoc} */
     @Override public boolean isRowIdIndex() {
-        return delegate.isRowIdIndex();
+        return delegate().isRowIdIndex();
     }
 
     /** {@inheritDoc} */
@@ -178,7 +185,7 @@ public abstract class GridH2ScanIndex<D extends BaseIndex> extends BaseIndex {
 
     /** {@inheritDoc} */
     @Override public IndexLookupBatch createLookupBatch(TableFilter filter) {
-        return delegate.createLookupBatch(filter);
+        return delegate().createLookupBatch(filter);
     }
 
     /** {@inheritDoc} */
@@ -188,12 +195,12 @@ public abstract class GridH2ScanIndex<D extends BaseIndex> extends BaseIndex {
 
     /** {@inheritDoc} */
     @Override public Schema getSchema() {
-        return delegate.getSchema();
+        return delegate().getSchema();
     }
 
     /** {@inheritDoc} */
     @Override public boolean isHidden() {
-        return delegate.isHidden();
+        return delegate().isHidden();
     }
 
     /** {@inheritDoc} */
@@ -203,12 +210,12 @@ public abstract class GridH2ScanIndex<D extends BaseIndex> extends BaseIndex {
 
     /** {@inheritDoc} */
     @Override public ArrayList<DbObject> getChildren() {
-        return delegate.getChildren();
+        return delegate().getChildren();
     }
 
     /** {@inheritDoc} */
     @Override public String getComment() {
-        return delegate.getComment();
+        return delegate().getComment();
     }
 
     /** {@inheritDoc} */
@@ -218,37 +225,37 @@ public abstract class GridH2ScanIndex<D extends BaseIndex> extends BaseIndex {
 
     /** {@inheritDoc} */
     @Override public String getCreateSQLForCopy(Table tbl, String quotedName) {
-        return delegate.getCreateSQLForCopy(tbl, quotedName);
+        return delegate().getCreateSQLForCopy(tbl, quotedName);
     }
 
     /** {@inheritDoc} */
     @Override public Database getDatabase() {
-        return delegate.getDatabase();
+        return delegate().getDatabase();
     }
 
     /** {@inheritDoc} */
     @Override public String getDropSQL() {
-        return delegate.getDropSQL();
+        return delegate().getDropSQL();
     }
 
     /** {@inheritDoc} */
     @Override public int getId() {
-        return delegate.getId();
+        return delegate().getId();
     }
 
     /** {@inheritDoc} */
     @Override public String getSQL() {
-        return delegate.getSQL();
+        return delegate().getSQL();
     }
 
     /** {@inheritDoc} */
     @Override public int getType() {
-        return delegate.getType();
+        return delegate().getType();
     }
 
     /** {@inheritDoc} */
     @Override public boolean isTemporary() {
-        return delegate.isTemporary();
+        return delegate().isTemporary();
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java
index 743f77a..0dd4182 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java
@@ -100,7 +100,7 @@ public class GridH2Table extends TableBase {
     private final H2RowFactory rowFactory;
 
     /** */
-    private volatile boolean rebuildFromHashInProgress = false;
+    private volatile boolean rebuildFromHashInProgress;
 
     /**
      * Creates table.
@@ -947,15 +947,27 @@ public class GridH2Table extends TableBase {
      * Wrapper type for primary key.
      */
     @SuppressWarnings("PackageVisibleInnerClass")
-    static class ScanIndex extends GridH2ScanIndex<GridH2IndexBase> {
+    class ScanIndex extends GridH2ScanIndex<GridH2IndexBase> {
         /** */
         static final String SCAN_INDEX_NAME_SUFFIX = "__SCAN_";
 
+        /** */
+        private final GridH2IndexBase hashIdx;
+
+        /**
+         * Constructor.
+         */
+        private ScanIndex(GridH2IndexBase treeIdx, GridH2IndexBase hashIdx) {
+            super(treeIdx);
+
+            this.hashIdx = hashIdx;
+        }
+
         /**
-         * @param delegate Delegate.
+         *
          */
-        public ScanIndex(GridH2IndexBase delegate) {
-            super(delegate);
+        @Override protected GridH2IndexBase delegate() {
+            return rebuildFromHashInProgress ? hashIdx : super.delegate();
         }
 
         /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java
index eb00c39..ea0b64b 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java
@@ -191,11 +191,6 @@ public class GridH2TreeIndex extends GridH2IndexBase implements Comparator<GridS
     @Override public void destroy() {
         assert threadLocalSnapshot() == null;
 
-        for (int i = 0; i < segments.length; i++) {
-            if (segments[i] instanceof AutoCloseable)
-                U.closeQuiet((AutoCloseable)segments[i]);
-        }
-
         super.destroy();
     }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSchemaIndexingTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSchemaIndexingTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSchemaIndexingTest.java
index fb7ef34..21fedf4 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSchemaIndexingTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSchemaIndexingTest.java
@@ -63,9 +63,10 @@ public class IgniteSqlSchemaIndexingTest extends GridCommonAbstractTest {
     /**
      * @param name Cache name.
      * @param partitioned Partition or replicated cache.
+     * @param idxTypes Indexed types.
      * @return Cache configuration.
      */
-    private static CacheConfiguration cacheConfig(String name, boolean partitioned) {
+    private static CacheConfiguration cacheConfig(String name, boolean partitioned, Class<?>... idxTypes) {
         return new CacheConfiguration()
             .setName(name)
             .setCacheMode(partitioned ? CacheMode.PARTITIONED : CacheMode.REPLICATED)
@@ -90,9 +91,9 @@ public class IgniteSqlSchemaIndexingTest extends GridCommonAbstractTest {
 
         GridTestUtils.assertThrows(log, new Callable<Object>() {
             @Override public Object call() throws Exception {
-                final CacheConfiguration cfg = cacheConfig("InSensitiveCache", true)
+                final CacheConfiguration cfg = cacheConfig("InSensitiveCache", true, Integer.class, Integer.class)
                     .setSqlSchema("InsensitiveCache");
-                final CacheConfiguration collisionCfg = cacheConfig("InsensitiveCache", true)
+                final CacheConfiguration collisionCfg = cacheConfig("InsensitiveCache", true, Integer.class, Integer.class)
                     .setSqlSchema("Insensitivecache");
                 IgniteConfiguration icfg = new IgniteConfiguration()
                     .setLocalHost("127.0.0.1")
@@ -113,9 +114,9 @@ public class IgniteSqlSchemaIndexingTest extends GridCommonAbstractTest {
     public void testCacheUnregistration() throws Exception {
         startGridsMultiThreaded(3, true);
 
-        final CacheConfiguration<Integer, Fact> cfg = cacheConfig("Insensitive_Cache", true)
+        final CacheConfiguration<Integer, Fact> cfg = cacheConfig("Insensitive_Cache", true, Integer.class, Fact.class)
             .setSqlSchema("Insensitive_Cache");
-        final CacheConfiguration<Integer, Fact> collisionCfg = cacheConfig("InsensitiveCache", true)
+        final CacheConfiguration<Integer, Fact> collisionCfg = cacheConfig("InsensitiveCache", true, Integer.class, Fact.class)
             .setSqlSchema("Insensitive_Cache");
 
         IgniteCache<Integer, Fact> cache = ignite(0).createCache(cfg);
@@ -152,11 +153,11 @@ public class IgniteSqlSchemaIndexingTest extends GridCommonAbstractTest {
     public void testSchemaEscapeAll() throws Exception {
         startGridsMultiThreaded(3, true);
 
-        final CacheConfiguration<Integer, Fact> cfg = cacheConfig("simpleSchema", true)
+        final CacheConfiguration<Integer, Fact> cfg = cacheConfig("simpleSchema", true, Integer.class, Fact.class)
             .setSqlSchema("SchemaName1")
             .setSqlEscapeAll(true);
 
-        final CacheConfiguration<Integer, Fact> cfgEsc = cacheConfig("escapedSchema", true)
+        final CacheConfiguration<Integer, Fact> cfgEsc = cacheConfig("escapedSchema", true, Integer.class, Fact.class)
             .setSqlSchema("\"SchemaName2\"")
             .setSqlEscapeAll(true);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/H2CompareBigQueryTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/H2CompareBigQueryTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/H2CompareBigQueryTest.java
index 565ee61..dc6c4e2 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/H2CompareBigQueryTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/H2CompareBigQueryTest.java
@@ -95,7 +95,7 @@ public class H2CompareBigQueryTest extends AbstractH2CompareQueryTest {
     private static IgniteCache<Object, Cancel> cacheCancel;
 
     /** Cache execute. */
-    private static IgniteCache<Integer, Exec> cacheExec;
+    private static IgniteCache<Object, Exec> cacheExec;
 
     /** {@inheritDoc} */
     @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala
index 39b2ce4..9668072 100644
--- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala
+++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala
@@ -139,7 +139,7 @@ class VisorCacheScanCommand {
         val firstPage =
             try
                 executeRandom(groupForDataNode(node, cacheName),
-                    classOf[VisorQueryTask], new VisorQueryArg(cacheName, null, false, false, pageSize)) match {
+                    classOf[VisorQueryTask], new VisorQueryArg(cacheName, null, false, false, false, pageSize)) match {
                     case x if x.get1() != null =>
                         error(x.get1())
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/0bdcbb35/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgniteGetBenchmark.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgniteGetBenchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgniteGetBenchmark.java
index 4187c0b..6154ba4 100644
--- a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgniteGetBenchmark.java
+++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgniteGetBenchmark.java
@@ -40,34 +40,6 @@ public class IgniteGetBenchmark extends IgniteCacheAbstractBenchmark<Integer, Ob
             throw new IllegalArgumentException("Preloading amount (\"-pa\", \"--preloadAmount\") " +
                 "must by less then the range (\"-r\", \"--range\").");
 
-        println(cfg, "Loading data...");
-
-        long start = System.nanoTime();
-
-        try (IgniteDataStreamer<Object, Object> dataLdr = ignite().dataStreamer(CACHE_NAME)) {
-            for (int i = 0; i < args.preloadAmount(); i++) {
-                dataLdr.addData(i, new SampleValue(i));
-
-                if (i % 100000 == 0) {
-                    if (Thread.currentThread().isInterrupted())
-                        break;
-
-                    println("Loaded entries: " + i);
-                }
-            }
-        }
-
-        println(cfg, "Finished populating query data in " + ((System.nanoTime() - start) / 1_000_000) + " ms.");
-    }
-
-    /** {@inheritDoc} */
-    @Override public void setUp(BenchmarkConfiguration cfg) throws Exception {
-        super.setUp(cfg);
-
-        if (args.preloadAmount() > args.range())
-            throw new IllegalArgumentException("Preloading amount (\"-pa\", \"--preloadAmount\") " +
-                "must by less then the range (\"-r\", \"--range\").");
-
         String cacheName = cache().getName();
 
         println(cfg, "Loading data for cache: " + cacheName);