You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2017/01/17 08:49:15 UTC

[01/13] ignite git commit: Merge remote-tracking branch 'remotes/community/ignite-gg-8.0.2.ea2' into ignite-3477

Repository: ignite
Updated Branches:
  refs/heads/ignite-gg-11810 203f28f78 -> 700398fc1


Merge remote-tracking branch 'remotes/community/ignite-gg-8.0.2.ea2' 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/81435cfa
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/81435cfa
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/81435cfa

Branch: refs/heads/ignite-gg-11810
Commit: 81435cfad1c462eda79e2ed985294828c20984a2
Parents: 42c9da6 90f846a
Author: sboikov <sb...@gridgain.com>
Authored: Fri Jan 13 12:06:09 2017 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri Jan 13 12:06:09 2017 +0300

----------------------------------------------------------------------
 .../main/resources/META-INF/classnames.properties   |  2 --
 .../expiry/IgniteCacheExpiryPolicyAbstractTest.java |  6 ++----
 .../main/resources/META-INF/classnames.properties   | 16 +---------------
 3 files changed, 3 insertions(+), 21 deletions(-)
----------------------------------------------------------------------



[03/13] ignite git commit: Merge remote-tracking branch 'community/ignite-gg-8.0.2.ea2' into ignite-gg-8.0.2.ea2

Posted by sb...@apache.org.
Merge remote-tracking branch 'community/ignite-gg-8.0.2.ea2' into ignite-gg-8.0.2.ea2


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

Branch: refs/heads/ignite-gg-11810
Commit: 049247d373d2b0197a36f133b21575462145f635
Parents: 79a546a 2254d37
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Fri Jan 13 19:06:12 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Fri Jan 13 19:06:12 2017 +0300

----------------------------------------------------------------------
 .../main/resources/META-INF/classnames.properties  |  2 --
 .../internal/ClusterNodeMetricsSelfTest.java       |  2 ++
 .../GridDeploymentMessageCountSelfTest.java        |  3 +++
 .../processors/cache/ClusterStateAbstractTest.java |  3 ++-
 .../IgniteCacheExpiryPolicyAbstractTest.java       |  6 ++----
 .../testsuites/IgniteComputeGridTestSuite.java     |  1 -
 .../main/resources/META-INF/classnames.properties  | 16 +---------------
 .../query/IgniteSqlSplitterSelfTest.java           |  2 +-
 .../testsuites/IgniteDistributedJoinTestSuite.java | 17 +++++++++++++++++
 9 files changed, 28 insertions(+), 24 deletions(-)
----------------------------------------------------------------------



[07/13] ignite git commit: ignite-gg-8.0.2.ea2 mute tests, link to task

Posted by sb...@apache.org.
ignite-gg-8.0.2.ea2 mute tests, link to task


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

Branch: refs/heads/ignite-gg-11810
Commit: e9bb1d900f6e65d8371cb32cbb09e79f9ccc8992
Parents: 166d637
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Mon Jan 16 18:27:51 2017 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Mon Jan 16 18:27:51 2017 +0300

----------------------------------------------------------------------
 .../cache/GridCacheAbstractMetricsSelfTest.java           |  8 +++++++-
 .../GridCacheReplicatedUnswapAdvancedSelfTest.java        |  3 +++
 .../local/LocalCacheOffHeapAndSwapMetricsSelfTest.java    | 10 ++++++++++
 .../internal/processors/query/h2/IgniteH2Indexing.java    |  2 +-
 .../processors/query/h2/database/H2TreeIndex.java         |  2 +-
 5 files changed, 22 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/e9bb1d90/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractMetricsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractMetricsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractMetricsSelfTest.java
index 5ad7e5c..aca01a5 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractMetricsSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractMetricsSelfTest.java
@@ -615,6 +615,8 @@ public abstract class GridCacheAbstractMetricsSelfTest extends GridCacheAbstract
      * @throws Exception If failed.
      */
     public void testMisses() throws Exception {
+        fail("https://issues.apache.org/jira/browse/IGNITE-4536");
+
         IgniteCache<Integer, Integer> cache = grid(0).cache(null);
 
         int keyCnt = keyCount();
@@ -657,12 +659,14 @@ public abstract class GridCacheAbstractMetricsSelfTest extends GridCacheAbstract
      * @throws Exception If failed.
      */
     public void testMissesOnEmptyCache() throws Exception {
+        fail("https://issues.apache.org/jira/browse/IGNITE-4536");
+
         IgniteCache<Integer, Integer> cache = grid(0).cache(null);
 
         assertEquals("Expected 0 read", 0, cache.localMetrics().getCacheGets());
         assertEquals("Expected 0 miss", 0, cache.localMetrics().getCacheMisses());
 
-        Integer key =  null;
+        Integer key = null;
 
         for (int i = 0; i < 1000; i++) {
             if (affinity(cache).isPrimary(grid(0).localNode(), i)) {
@@ -709,6 +713,8 @@ public abstract class GridCacheAbstractMetricsSelfTest extends GridCacheAbstract
      * @throws Exception If failed.
      */
     public void testManualEvictions() throws Exception {
+        fail("https://issues.apache.org/jira/browse/IGNITE-4536");
+
         IgniteCache<Integer, Integer> cache = grid(0).cache(null);
 
         if (cache.getConfiguration(CacheConfiguration.class).getCacheMode() == CacheMode.PARTITIONED)

http://git-wip-us.apache.org/repos/asf/ignite/blob/e9bb1d90/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedUnswapAdvancedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedUnswapAdvancedSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedUnswapAdvancedSelfTest.java
index a1a92d4..006cb87 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedUnswapAdvancedSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedUnswapAdvancedSelfTest.java
@@ -69,6 +69,9 @@ public class GridCacheReplicatedUnswapAdvancedSelfTest extends GridCommonAbstrac
      * @throws Exception If failed.
      */
     public void testUnswapAdvanced() throws Exception {
+        //TODO GG-11141
+        fail();
+
         Ignite g1 = startGrid(1);
         Ignite g2 = startGrid(2);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/e9bb1d90/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/LocalCacheOffHeapAndSwapMetricsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/LocalCacheOffHeapAndSwapMetricsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/LocalCacheOffHeapAndSwapMetricsSelfTest.java
index 20befb5..beec47e 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/LocalCacheOffHeapAndSwapMetricsSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/LocalCacheOffHeapAndSwapMetricsSelfTest.java
@@ -103,6 +103,8 @@ public class LocalCacheOffHeapAndSwapMetricsSelfTest extends GridCommonAbstractT
      * @throws Exception if failed.
      */
     public void testOffHeapMetrics() throws Exception {
+        fail("https://issues.apache.org/jira/browse/IGNITE-4536");
+
         createCache(CacheMemoryMode.ONHEAP_TIERED, 0, false);
 
         for (int i = 0; i < KEYS_CNT; i++)
@@ -184,6 +186,8 @@ public class LocalCacheOffHeapAndSwapMetricsSelfTest extends GridCommonAbstractT
      * @throws Exception if failed.
      */
     public void testSwapMetrics() throws Exception {
+        fail("https://issues.apache.org/jira/browse/IGNITE-4536");
+
         createCache(CacheMemoryMode.ONHEAP_TIERED, -1, true);
 
         for (int i = 0; i < KEYS_CNT; i++)
@@ -253,6 +257,8 @@ public class LocalCacheOffHeapAndSwapMetricsSelfTest extends GridCommonAbstractT
      * @throws Exception if failed.
      */
     public void testOffHeapAndSwapMetrics() throws Exception {
+        fail("https://issues.apache.org/jira/browse/IGNITE-4536");
+
         createCache(CacheMemoryMode.ONHEAP_TIERED, OFFHEAP_MAX_SIZE, true);
 
         for (int i = 0; i < KEYS_CNT; i++)
@@ -376,6 +382,8 @@ public class LocalCacheOffHeapAndSwapMetricsSelfTest extends GridCommonAbstractT
      * @throws Exception if failed.
      */
     public void testOffHeapMetricsInOffHeapTiered() throws Exception {
+        fail("https://issues.apache.org/jira/browse/IGNITE-4536");
+
         createCache(CacheMemoryMode.OFFHEAP_TIERED, 0, false);
 
         for (int i = 0; i < KEYS_CNT; i++)
@@ -457,6 +465,8 @@ public class LocalCacheOffHeapAndSwapMetricsSelfTest extends GridCommonAbstractT
      * @throws Exception if failed.
      */
     public void testOffHeapAndSwapMetricsInOffHeapTiered() throws Exception {
+        fail("https://issues.apache.org/jira/browse/IGNITE-4536");
+
         createCache(CacheMemoryMode.OFFHEAP_TIERED, OFFHEAP_MAX_SIZE, true);
 
         for (int i = 0; i < KEYS_CNT; i++)

http://git-wip-us.apache.org/repos/asf/ignite/blob/e9bb1d90/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 6ea3387..98b5b7f 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
@@ -2008,7 +2008,7 @@ public class IgniteH2Indexing implements GridQueryIndexing {
 
 //        unregisterMBean(); TODO https://issues.apache.org/jira/browse/IGNITE-2139
 
-        if (!ctx.cache().context().database().persistenceEnabled()) {
+        if (ctx != null && !ctx.cache().context().database().persistenceEnabled()) {
             for (Schema schema : schemas.values())
                 schema.onDrop();
         }

http://git-wip-us.apache.org/repos/asf/ignite/blob/e9bb1d90/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 3268d9d..19cbbf9 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
@@ -79,7 +79,7 @@ public class H2TreeIndex extends GridH2IndexBase {
 
         name = BPlusTree.treeName(name, "H2Tree");
 
-        if (!cctx.kernalContext().clientNode() && cctx.affinityNode()) {
+        if (cctx.affinityNode()) {
             IgniteCacheDatabaseSharedManager dbMgr = cctx.shared().database();
 
             RootPage page = cctx.offheap().rootPageForIndex(name);


[02/13] ignite git commit: Enabled tests.

Posted by sb...@apache.org.
Enabled tests.


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

Branch: refs/heads/ignite-gg-11810
Commit: beb80830c153ec529d082b3588951af43fdcff33
Parents: 81435cf
Author: sboikov <sb...@gridgain.com>
Authored: Fri Jan 13 12:07:28 2017 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri Jan 13 12:07:28 2017 +0300

----------------------------------------------------------------------
 .../java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/beb80830/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
index aa67011..b4d0822 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
@@ -64,8 +64,8 @@ public class IgniteCacheTestSuite5 extends TestSuite {
         suite.addTest(IgniteCacheReadThroughEvictionsVariationsSuite.suite());
         suite.addTestSuite(IgniteCacheTxIteratorSelfTest.class);
 
-//        suite.addTestSuite(ClusterStatePartitionedSelfTest.class);
-//        suite.addTestSuite(ClusterStateReplicatedSelfTest.class);
+        suite.addTestSuite(ClusterStatePartitionedSelfTest.class);
+        suite.addTestSuite(ClusterStateReplicatedSelfTest.class);
         suite.addTestSuite(IgniteCachePartitionLossPolicySelfTest.class);
 
         suite.addTestSuite(CacheRebalancingSelfTest.class);


[11/13] ignite git commit: IGNITE-4545 Added cache for router hostnames. - Fixes #1428.

Posted by sb...@apache.org.
IGNITE-4545 Added cache for router hostnames. - Fixes #1428.

Signed-off-by: Andrey Novikov <an...@gridgain.com>

(cherry picked from commit 27ba69b)


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

Branch: refs/heads/ignite-gg-11810
Commit: b0ac987d3202f5796c101bfc1998e4d4dcfb2bab
Parents: 393eb94
Author: Andrey Novikov <an...@gridgain.com>
Authored: Mon Jan 16 11:22:34 2017 +0700
Committer: Andrey Novikov <an...@gridgain.com>
Committed: Tue Jan 17 13:45:33 2017 +0700

----------------------------------------------------------------------
 .../GridClientConnectionManagerAdapter.java     |  7 ++-
 .../impl/connection/GridClientTopology.java     | 53 ++++++++++++++++----
 2 files changed, 49 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/b0ac987d/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientConnectionManagerAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientConnectionManagerAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientConnectionManagerAdapter.java
index 12baee0..f714e7a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientConnectionManagerAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientConnectionManagerAdapter.java
@@ -85,6 +85,9 @@ public abstract class GridClientConnectionManagerAdapter implements GridClientCo
     /** Class logger. */
     private final Logger log;
 
+    /** All local enabled MACs. */
+    private final Collection<String> macs;
+
     /** NIO server. */
     private GridNioServer srv;
 
@@ -166,6 +169,8 @@ public abstract class GridClientConnectionManagerAdapter implements GridClientCo
         if (marshId == null && cfg.getMarshaller() == null)
             throw new GridClientException("Failed to start client (marshaller is not configured).");
 
+        macs = U.allLocalMACs();
+
         if (cfg.getProtocol() == GridClientProtocol.TCP) {
             try {
                 IgniteLogger gridLog = new JavaLogger(false);
@@ -316,7 +321,7 @@ public abstract class GridClientConnectionManagerAdapter implements GridClientCo
         }
 
         boolean sameHost = node.attributes().isEmpty() ||
-            F.containsAny(U.allLocalMACs(), node.attribute(ATTR_MACS).toString().split(", "));
+            F.containsAny(macs, node.attribute(ATTR_MACS).toString().split(", "));
 
         Collection<InetSocketAddress> srvs = new LinkedHashSet<>();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/b0ac987d/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientTopology.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientTopology.java b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientTopology.java
index effd5b3..97aa586 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientTopology.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientTopology.java
@@ -21,7 +21,6 @@ import java.net.InetSocketAddress;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.Map;
 import java.util.Set;
@@ -61,12 +60,18 @@ public class GridClientTopology {
     /** Cached last error prevented topology from update. */
     private GridClientException lastError;
 
+    /** Router addresses from configuration.  */
+    private final String routers;
+
     /**
      * Set of router addresses to infer direct connectivity
      * when client is working in router connection mode.
      * {@code null} when client is working in direct connection node.
      */
-    private final Set<String> routerAddrs;
+    private final Set<InetSocketAddress> routerAddrs;
+
+    /** List of all known local MACs */
+    private final Collection<String> macsCache;
 
     /** Protocol. */
     private final GridClientProtocol prot;
@@ -96,8 +101,38 @@ public class GridClientTopology {
         metricsCache = cfg.isEnableMetricsCache();
         attrCache = cfg.isEnableAttributesCache();
         prot = cfg.getProtocol();
-        routerAddrs = (!cfg.getRouters().isEmpty() && cfg.getServers().isEmpty()) ?
-            new HashSet<>(cfg.getRouters()) : null;
+
+        if (!cfg.getRouters().isEmpty() && cfg.getServers().isEmpty()) {
+            routers = cfg.getRouters().toString();
+
+            routerAddrs = U.newHashSet(cfg.getRouters().size());
+
+            for (String router : cfg.getRouters()) {
+                int portIdx = router.lastIndexOf(":");
+
+                if (portIdx > 0) {
+                    String hostName = router.substring(0, portIdx);
+
+                    try {
+                        int port = Integer.parseInt(router.substring(portIdx + 1));
+
+                        InetSocketAddress inetSockAddr = new InetSocketAddress(hostName, port);
+
+                        routerAddrs.add(inetSockAddr);
+                    }
+                    catch (Exception ignore) {
+                        // No-op.
+                    }
+                }
+            }
+        }
+        else {
+            routers = null;
+
+            routerAddrs = Collections.emptySet();
+        }
+
+        macsCache = U.allLocalMACs();
     }
 
     /**
@@ -279,7 +314,7 @@ public class GridClientTopology {
         try {
             if (lastError != null)
                 throw new GridClientDisconnectedException(
-                    "Topology is failed [protocol=" + prot + ", routers=" + routerAddrs + ']', lastError);
+                    "Topology is failed [protocol=" + prot + ", routers=" + routers + ']', lastError);
             else
                 return nodes.get(id);
         }
@@ -376,19 +411,17 @@ public class GridClientTopology {
             (metricsCache && attrCache) || (node.attributes().isEmpty() && node.metrics() == null);
 
         // Try to bypass object copying.
-        if (noAttrsAndMetrics && routerAddrs == null && node.connectable())
+        if (noAttrsAndMetrics && routerAddrs.isEmpty() && node.connectable())
             return node;
 
         // Return a new node instance based on the original one.
         GridClientNodeImpl.Builder nodeBuilder = GridClientNodeImpl.builder(node, !attrCache, !metricsCache);
 
         for (InetSocketAddress addr : node.availableAddresses(prot, true)) {
-            boolean router = routerAddrs == null ||
-                routerAddrs.contains(addr.getHostName() + ":" + addr.getPort()) ||
-                routerAddrs.contains(addr.getAddress().getHostAddress() + ":" + addr.getPort());
+            boolean router = routerAddrs.isEmpty() || routerAddrs.contains(addr);
 
             boolean reachable = noAttrsAndMetrics || !addr.getAddress().isLoopbackAddress() ||
-                F.containsAny(U.allLocalMACs(), node.attribute(ATTR_MACS).toString().split(", "));
+                F.containsAny(macsCache, node.<String>attribute(ATTR_MACS).split(", "));
 
             if (router && reachable) {
                 nodeBuilder.connectable(true);


[05/13] ignite git commit: Merge branch 'ignite-gg-8.0.2.ea2' of https://github.com/gridgain/apache-ignite into ignite-gg-8.0.2.ea2

Posted by sb...@apache.org.
Merge branch 'ignite-gg-8.0.2.ea2' of https://github.com/gridgain/apache-ignite into ignite-gg-8.0.2.ea2


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

Branch: refs/heads/ignite-gg-11810
Commit: 8f69186343dc95aba403e12c8fb7c06a5042916a
Parents: 5e289d8 e1b84b4
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Fri Jan 13 19:45:07 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Fri Jan 13 19:45:07 2017 +0300

----------------------------------------------------------------------
 .../apache/ignite/internal/processors/cache/GridCacheAdapter.java | 2 +-
 .../ignite/internal/processors/cache/GridCacheMapEntry.java       | 3 +--
 .../ignite/internal/processors/query/h2/database/H2TreeIndex.java | 2 +-
 3 files changed, 3 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/8f691863/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/8f691863/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------


[08/13] ignite git commit: ignite-gg-8.0.2.ea2 fix query test

Posted by sb...@apache.org.
ignite-gg-8.0.2.ea2 fix query test


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

Branch: refs/heads/ignite-gg-11810
Commit: 6e5bfea3b71068bc4c4487e68d1d9ced4069005a
Parents: e9bb1d9
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Mon Jan 16 21:09:04 2017 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Mon Jan 16 21:09:04 2017 +0300

----------------------------------------------------------------------
 .../org/apache/ignite/internal/IgnitionEx.java  |  3 ++-
 .../query/h2/opt/GridH2TreeIndex.java           | 26 ++++++++++++--------
 .../query/h2/opt/GridH2TableSelfTest.java       |  8 +++++-
 .../query/h2/sql/GridQueryParsingTest.java      |  4 +--
 4 files changed, 27 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/6e5bfea3/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
index b464127..b47ed15 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
@@ -2381,7 +2381,8 @@ public class IgnitionEx {
 
                 grid = null;
 
-                stopExecutors(log);
+                if (log != null)
+                    stopExecutors(log);
 
                 log = null;
             }

http://git-wip-us.apache.org/repos/asf/ignite/blob/6e5bfea3/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 4fa8b0f..0f93f52 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
@@ -499,8 +499,8 @@ public class GridH2TreeIndex extends GridH2IndexBase implements Comparator<GridS
         }
 
         /** {@inheritDoc} */
-        @Override public GridH2Row put(GridH2Row value) {
-            return tree.put(value, value);
+        @Override public GridH2Row put(GridH2Row val) {
+            return tree.put(val, val);
         }
 
         /** {@inheritDoc} */
@@ -511,13 +511,19 @@ public class GridH2TreeIndex extends GridH2IndexBase implements Comparator<GridS
         /** {@inheritDoc} */
         @Override public GridCursor<GridH2Row> find(GridSearchRowPointer lower, GridSearchRowPointer upper)
             throws IgniteCheckedException {
-            if (lower == null || upper == null)
-                throw new NullPointerException();
 
-            NavigableMap<GridSearchRowPointer, GridH2Row> subMap =
-                tree.subMap(lower, false, upper, false);
+            Collection<GridH2Row> rows;
 
-            return new GridCursorIteratorWrapper<>(subMap.values().iterator());
+            if (lower == null && upper == null)
+                rows = tree.values();
+            else if (lower != null && upper == null)
+                rows = tree.tailMap(lower).values();
+            else if (lower == null)
+                rows = tree.headMap(upper).values();
+            else
+                rows = tree.subMap(lower, true, upper, true).values();
+
+            return new GridCursorIteratorWrapper<>(rows.iterator());
         }
 
         /** {@inheritDoc} */
@@ -532,16 +538,16 @@ public class GridH2TreeIndex extends GridH2IndexBase implements Comparator<GridS
 
         /** {@inheritDoc} */
         @Override public IgniteNavigableMapTree clone() {
-            AbstractMap copy;
+            IgniteNavigableMapTree cp;
 
             try {
-                copy = (AbstractMap) super.clone();
+                cp = (IgniteNavigableMapTree)super.clone();
             }
             catch (final CloneNotSupportedException e) {
                 throw DbException.convert(e);
             }
 
-            return new IgniteNavigableMapTree((NavigableMap)copy);
+            return new IgniteNavigableMapTree(cp.tree);
         }
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/6e5bfea3/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TableSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TableSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TableSelfTest.java
index 5daf415..dcb1840 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TableSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TableSelfTest.java
@@ -70,6 +70,9 @@ public class GridH2TableSelfTest extends GridCommonAbstractTest {
     /** */
     private static final String PK_NAME = "__GG_PK_";
 
+    /** Hash. */
+    private static final String HASH = "__GG_HASH";
+
     /** */
     private static final String STR_IDX_NAME = "__GG_IDX_";
 
@@ -105,6 +108,7 @@ public class GridH2TableSelfTest extends GridCommonAbstractTest {
                 IndexColumn x = tbl.indexColumn(3, SortOrder.DESCENDING);
 
                 idxs.add(new GridH2TreeIndex(PK_NAME, tbl, true, F.asList(id)));
+                idxs.add(new GridH2TreeIndex(HASH, tbl, true, F.asList(id)));
                 idxs.add(new GridH2TreeIndex(NON_UNIQUE_IDX_NAME, tbl, false, F.asList(x, t, id)));
                 idxs.add(new GridH2TreeIndex(STR_IDX_NAME, tbl, false, F.asList(str, id)));
 
@@ -601,7 +605,7 @@ public class GridH2TableSelfTest extends GridCommonAbstractTest {
 
             //((GridH2SnapTreeSet)((GridH2Index)idx).tree).print();
 
-            if (rowSet == null)
+            if (rowSet == null || rowSet.isEmpty())
                 rowSet = set;
             else
                 assertEquals(rowSet, set);
@@ -636,6 +640,8 @@ public class GridH2TableSelfTest extends GridCommonAbstractTest {
         while (cursor.next()) {
             GridH2Row row = cursor.get();
 
+            System.out.println(row);
+
             assertNotNull(row);
 
             assertFalse("Incorrect row order in index: " + idx + "\n min: " + min + "\n row: " + row,

http://git-wip-us.apache.org/repos/asf/ignite/blob/6e5bfea3/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/GridQueryParsingTest.java
----------------------------------------------------------------------
diff --git 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
index 0992fe2..09a1884 100644
--- 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
@@ -383,10 +383,10 @@ public class GridQueryParsingTest extends GridCommonAbstractTest {
         checkQuery("update Person p set name='Peter', old = length('zzz') limit 20");
         checkQuery("update Person p set name=DEFAULT, old = null limit ?");
         checkQuery("update Person p set name=? where old >= ? and old < ? limit ?");
-        checkQuery("update Person p set name=(select a.Street from Address a where a.id=p.addrId), old = (select 42)" +
+        checkQuery("update Person p set name=(select a.Street from \"addr\".Address a where a.id=p.addrId), old = (select 42)" +
             " where old = sqrt(?)");
         checkQuery("update Person p set (name, old) = (select 'Peter', 42)");
-        checkQuery("update Person p set (name, old) = (select street, id from Address where id > 5 and id <= ?)");
+        checkQuery("update Person p set (name, old) = (select street, id from \"addr\".Address where id > 5 and id <= ?)");
     }
 
     /**


[12/13] ignite git commit: Merge remote-tracking branch 'remotes/community/ignite-gg-8.0.2.ea2' into ignite-3477

Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/community/ignite-gg-8.0.2.ea2' 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/e7e0d876
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/e7e0d876
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/e7e0d876

Branch: refs/heads/ignite-gg-11810
Commit: e7e0d876b609f44443b2dabc8109471696e940ba
Parents: 6c31bc1 b0ac987
Author: sboikov <sb...@gridgain.com>
Authored: Tue Jan 17 11:45:58 2017 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Tue Jan 17 11:45:58 2017 +0300

----------------------------------------------------------------------
 .../store/jdbc/dialect/BasicJdbcDialect.java    | 31 +++++++-----
 .../GridClientConnectionManagerAdapter.java     |  7 ++-
 .../impl/connection/GridClientTopology.java     | 53 ++++++++++++++++----
 .../store/jdbc/CacheJdbcPojoStoreTest.java      | 48 +++++++++++++++++-
 4 files changed, 115 insertions(+), 24 deletions(-)
----------------------------------------------------------------------



[09/13] ignite git commit: Merge remote-tracking branch 'community/ignite-gg-8.0.2.ea2' into ignite-gg-8.0.2.ea2

Posted by sb...@apache.org.
Merge remote-tracking branch 'community/ignite-gg-8.0.2.ea2' into ignite-gg-8.0.2.ea2


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

Branch: refs/heads/ignite-gg-11810
Commit: 6c31bc1a59b56de5328af3d9c160e35dd7e52c34
Parents: 8f69186 6e5bfea
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Mon Jan 16 21:10:08 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Mon Jan 16 21:10:08 2017 +0300

----------------------------------------------------------------------
 .../org/apache/ignite/internal/IgnitionEx.java  |  3 ++-
 .../cache/DynamicCacheChangeRequest.java        |  8 +++---
 .../processors/cache/GridCacheProcessor.java    |  9 ++++---
 .../ignite/spi/discovery/tcp/ServerImpl.java    |  1 -
 .../cache/GridCacheAbstractMetricsSelfTest.java |  8 +++++-
 ...idCacheReplicatedUnswapAdvancedSelfTest.java |  3 +++
 ...LocalCacheOffHeapAndSwapMetricsSelfTest.java | 10 ++++++++
 .../processors/query/h2/IgniteH2Indexing.java   |  2 +-
 .../query/h2/database/H2TreeIndex.java          |  2 +-
 .../query/h2/opt/GridH2TreeIndex.java           | 26 ++++++++++++--------
 .../query/h2/opt/GridH2TableSelfTest.java       |  8 +++++-
 11 files changed, 56 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/6c31bc1a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractMetricsSelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/6c31bc1a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TableSelfTest.java
----------------------------------------------------------------------


[06/13] ignite git commit: ignite-gg-8.0.2.ea2 fix testDuplicatedDiscoveryDataRemoved

Posted by sb...@apache.org.
ignite-gg-8.0.2.ea2 fix testDuplicatedDiscoveryDataRemoved


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

Branch: refs/heads/ignite-gg-11810
Commit: 166d63713c259f0b5882c41dffd3bf66d47da0fd
Parents: e1b84b4
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Mon Jan 16 17:38:49 2017 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Mon Jan 16 17:38:49 2017 +0300

----------------------------------------------------------------------
 .../processors/cache/DynamicCacheChangeRequest.java         | 8 ++++----
 .../internal/processors/cache/GridCacheProcessor.java       | 9 +++++----
 .../org/apache/ignite/spi/discovery/tcp/ServerImpl.java     | 1 -
 3 files changed, 9 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/166d6371/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeRequest.java
index a3116ad..1e5ab88 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeRequest.java
@@ -35,7 +35,7 @@ public class DynamicCacheChangeRequest implements Serializable {
     private static final long serialVersionUID = 0L;
 
     /** */
-    private UUID requestId;
+    private UUID reqId;
 
     /** Start ID. */
     private IgniteUuid deploymentId;
@@ -95,8 +95,8 @@ public class DynamicCacheChangeRequest implements Serializable {
      * @param cacheName Cache stop name.
      * @param initiatingNodeId Initiating node ID.
      */
-    public DynamicCacheChangeRequest(UUID requestId, String cacheName, UUID initiatingNodeId) {
-        this.requestId = requestId;
+    public DynamicCacheChangeRequest(UUID reqId, String cacheName, UUID initiatingNodeId) {
+        this.reqId = reqId;
         this.cacheName = cacheName;
         this.initiatingNodeId = initiatingNodeId;
     }
@@ -105,7 +105,7 @@ public class DynamicCacheChangeRequest implements Serializable {
      * @return Request ID.
      */
     public UUID requestId() {
-        return requestId;
+        return reqId;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/166d6371/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index 1e5fcc1..7f4fb99 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
@@ -2041,8 +2041,9 @@ public class GridCacheProcessor extends GridProcessorAdapter {
 
                 if (desc == null)
                     continue;
-
-                DynamicCacheChangeRequest req = new DynamicCacheChangeRequest(UUID.randomUUID(), cache.name(), null);
+                // requestId must be null because on different node will be different byte [] and we get duplicate discovery data
+                // see TcpDiscoveryNodeAddedMessage#addDiscoveryData 'Arrays.equals(curData, discoDataEntry.getValue())'
+                DynamicCacheChangeRequest req = new DynamicCacheChangeRequest(null, cache.name(), null);
 
                 req.startCacheConfiguration(desc.cacheConfiguration());
 
@@ -2068,7 +2069,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
 
             for (DynamicCacheDescriptor desc : registeredCaches.values()) {
                 DynamicCacheChangeRequest req = new DynamicCacheChangeRequest(
-                    UUID.randomUUID(), desc.cacheConfiguration().getName(), null);
+                    null, desc.cacheConfiguration().getName(), null);
 
                 req.startCacheConfiguration(desc.cacheConfiguration());
 
@@ -2083,7 +2084,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
 
             for (DynamicCacheDescriptor desc : registeredTemplates.values()) {
                 DynamicCacheChangeRequest req = new DynamicCacheChangeRequest(
-                    UUID.randomUUID(), desc.cacheConfiguration().getName(), null);
+                    null, desc.cacheConfiguration().getName(), null);
 
                 req.startCacheConfiguration(desc.cacheConfiguration());
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/166d6371/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index 44159c6..585c153 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -18,7 +18,6 @@
 package org.apache.ignite.spi.discovery.tcp;
 
 import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.ObjectStreamException;


[10/13] ignite git commit: IGNITE-4518 Fixed parallel load of cache. - Fixes #1426.

Posted by sb...@apache.org.
IGNITE-4518 Fixed parallel load of cache. - Fixes #1426.

Signed-off-by: Andrey Novikov <an...@gridgain.com>

(cherry picked from commit 79401b2)


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

Branch: refs/heads/ignite-gg-11810
Commit: 393eb940eccef149fdd7a5162a533cebd225972e
Parents: 6e5bfea
Author: Andrey Novikov <an...@gridgain.com>
Authored: Mon Jan 16 10:33:16 2017 +0700
Committer: Andrey Novikov <an...@gridgain.com>
Committed: Tue Jan 17 13:45:26 2017 +0700

----------------------------------------------------------------------
 .../store/jdbc/dialect/BasicJdbcDialect.java    | 31 ++++++++-----
 .../store/jdbc/CacheJdbcPojoStoreTest.java      | 48 +++++++++++++++++++-
 2 files changed, 66 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/393eb940/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/dialect/BasicJdbcDialect.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/dialect/BasicJdbcDialect.java b/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/dialect/BasicJdbcDialect.java
index 3ab112a..139f3fc 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/dialect/BasicJdbcDialect.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/dialect/BasicJdbcDialect.java
@@ -173,13 +173,15 @@ public class BasicJdbcDialect implements JdbcDialect {
         if (appendLowerBound) {
             sb.a("(");
 
-            for (int cnt = keyCols.size(); cnt > 0; cnt--) {
-                for (int j = 0; j < cnt; j++)
-                    if (j == cnt - 1)
-                        sb.a(cols[j]).a(" > ? ");
+            for (int keyCnt = keyCols.size(); keyCnt > 0; keyCnt--) {
+                for (int idx = 0; idx < keyCnt; idx++) {
+                    if (idx == keyCnt - 1)
+                        sb.a(cols[idx]).a(" > ? ");
                     else
-                        sb.a(cols[j]).a(" = ? AND ");
-                if (cnt != 1)
+                        sb.a(cols[idx]).a(" = ? AND ");
+                }
+
+                if (keyCnt != 1)
                     sb.a("OR ");
             }
 
@@ -192,13 +194,18 @@ public class BasicJdbcDialect implements JdbcDialect {
         if (appendUpperBound) {
             sb.a("(");
 
-            for (int cnt = keyCols.size(); cnt > 0; cnt--) {
-                for (int j = 0; j < cnt; j++)
-                    if (j == cnt - 1)
-                        sb.a(cols[j]).a(" <= ? ");
+            for (int keyCnt = keyCols.size(); keyCnt > 0; keyCnt--) {
+                for (int idx = 0, lastIdx = keyCnt - 1; idx < keyCnt; idx++) {
+                    sb.a(cols[idx]);
+
+                    // For composite key when not all of the key columns are constrained should use < (strictly less).
+                    if (idx == lastIdx)
+                        sb.a(keyCnt == keyCols.size() ? " <= ? " : " < ? ");
                     else
-                        sb.a(cols[j]).a(" = ? AND ");
-                if (cnt != 1)
+                        sb.a(" = ? AND ");
+                }
+
+                if (keyCnt != 1)
                     sb.a(" OR ");
             }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/393eb940/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreTest.java b/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreTest.java
index d8f75d3..4a0b1da 100644
--- a/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreTest.java
@@ -216,7 +216,7 @@ public class CacheJdbcPojoStoreTest extends GridAbstractCacheStoreSelfTest<Cache
 
         stmt.executeUpdate("CREATE TABLE IF NOT EXISTS " +
             "Person_Complex (id integer not null, org_id integer not null, city_id integer not null, " +
-            "name varchar(50), salary integer, PRIMARY KEY(id))");
+            "name varchar(50), salary integer, PRIMARY KEY(id, org_id, city_id))");
 
         conn.commit();
 
@@ -352,6 +352,52 @@ public class CacheJdbcPojoStoreTest extends GridAbstractCacheStoreSelfTest<Cache
     /**
      * @throws Exception If failed.
      */
+    public void testParallelLoad() throws Exception {
+        Connection conn = store.openConnection(false);
+
+        PreparedStatement prnComplexStmt = conn.prepareStatement("INSERT INTO Person_Complex(id, org_id, city_id, name, salary) VALUES (?, ?, ?, ?, ?)");
+
+        for (int i = 0; i < 8; i++) {
+
+            prnComplexStmt.setInt(1, (i >> 2) & 1);
+            prnComplexStmt.setInt(2, (i >> 1) & 1);
+            prnComplexStmt.setInt(3, i % 2);
+
+            prnComplexStmt.setString(4, "name");
+            prnComplexStmt.setInt(5, 1000 + i * 500);
+
+            prnComplexStmt.addBatch();
+        }
+
+        prnComplexStmt.executeBatch();
+
+        U.closeQuiet(prnComplexStmt);
+
+        conn.commit();
+
+        U.closeQuiet(conn);
+
+        final Collection<PersonComplexKey> prnComplexKeys = new ConcurrentLinkedQueue<>();
+
+        IgniteBiInClosure<Object, Object> c = new CI2<Object, Object>() {
+            @Override public void apply(Object k, Object v) {
+                if (k instanceof PersonComplexKey && v instanceof Person)
+                    prnComplexKeys.add((PersonComplexKey)k);
+                else
+                    fail("Unexpected entry [key=" + k + ", value=" + v + "]");
+            }
+        };
+
+        store.setParallelLoadCacheMinimumThreshold(2);
+
+        store.loadCache(c);
+
+        assertEquals(8, prnComplexKeys.size());
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
     public void testWriteRetry() throws Exception {
         CacheJdbcPojoStore<Object, Object> store = store();
 


[13/13] ignite git commit: Merge remote-tracking branch 'remotes/origin/ignite-3477' into ignite-gg-11810

Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/ignite-3477' into ignite-gg-11810


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

Branch: refs/heads/ignite-gg-11810
Commit: 700398fc1ce5b0c958c406174297efa14b4975e6
Parents: 203f28f e7e0d87
Author: sboikov <sb...@gridgain.com>
Authored: Tue Jan 17 11:48:38 2017 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Tue Jan 17 11:48:38 2017 +0300

----------------------------------------------------------------------
 .../store/jdbc/dialect/BasicJdbcDialect.java    | 31 +++++++-----
 .../org/apache/ignite/internal/IgnitionEx.java  |  3 +-
 .../GridClientConnectionManagerAdapter.java     |  7 ++-
 .../impl/connection/GridClientTopology.java     | 53 ++++++++++++++++----
 .../cache/DynamicCacheChangeRequest.java        |  8 +--
 .../processors/cache/GridCacheProcessor.java    |  9 ++--
 .../ignite/spi/discovery/tcp/ServerImpl.java    |  1 -
 .../store/jdbc/CacheJdbcPojoStoreTest.java      | 48 +++++++++++++++++-
 .../cache/GridCacheAbstractMetricsSelfTest.java |  8 ++-
 ...idCacheReplicatedUnswapAdvancedSelfTest.java |  3 ++
 ...LocalCacheOffHeapAndSwapMetricsSelfTest.java | 10 ++++
 .../testsuites/IgniteCacheTestSuite5.java       |  4 +-
 .../processors/query/h2/IgniteH2Indexing.java   |  2 +-
 .../query/h2/database/H2TreeIndex.java          |  2 +-
 .../query/h2/opt/GridH2TreeIndex.java           | 26 ++++++----
 .../query/h2/opt/GridH2TableSelfTest.java       |  8 ++-
 16 files changed, 173 insertions(+), 50 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/700398fc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/700398fc/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2TreeIndex.java
----------------------------------------------------------------------


[04/13] ignite git commit: Merge branch 'ignite-3477' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-gg-8.0.2.ea2

Posted by sb...@apache.org.
Merge branch 'ignite-3477' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-gg-8.0.2.ea2


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

Branch: refs/heads/ignite-gg-11810
Commit: 5e289d81273f6eeac826e7f6b5c4de7df2d067ff
Parents: 049247d beb8083
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Fri Jan 13 19:43:40 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Fri Jan 13 19:43:40 2017 +0300

----------------------------------------------------------------------
 .../util/GridCursorIteratorWrapper.java         | 24 ++++++++++++++++----
 .../testsuites/IgniteCacheTestSuite5.java       |  4 ++--
 .../query/h2/database/H2TreeIndex.java          |  3 +--
 ...niteCachePartitionedFieldsQuerySelfTest.java |  8 +++----
 ...gniteCacheReplicatedFieldsQuerySelfTest.java |  6 ++---
 .../query/h2/opt/GridH2TableSelfTest.java       |  6 ++---
 .../query/h2/sql/GridQueryParsingTest.java      |  4 ++--
 7 files changed, 34 insertions(+), 21 deletions(-)
----------------------------------------------------------------------