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 2015/06/29 17:47:20 UTC

[01/32] incubator-ignite git commit: # GG-10404 Added check for empty topology for query cleanup task.

Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-gg-10298 b843dabd7 -> 23a3f1099


# GG-10404 Added check for empty topology for query cleanup task.


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

Branch: refs/heads/ignite-gg-10298
Commit: 32697ab08071c708c9f8b4c1b70b2ee4ab62d858
Parents: f0e74c0
Author: AKuznetsov <ak...@gridgain.com>
Authored: Fri Jun 12 11:19:37 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Fri Jun 12 11:19:37 2015 +0700

----------------------------------------------------------------------
 .../connection/GridClientNioTcpConnection.java  |  7 ++++-
 .../visor/query/VisorQueryCleanupTask.java      | 14 +++++++++
 .../visor/util/VisorEmptyTopologyException.java | 33 ++++++++++++++++++++
 3 files changed, 53 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32697ab0/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java
index d247e05..67709b8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java
@@ -750,7 +750,12 @@ public class GridClientNioTcpConnection extends GridClientConnection {
             new GridClientFutureCallback<GridClientTaskResultBean, R>() {
                 @Override public R onComplete(GridClientFuture<GridClientTaskResultBean> fut)
                     throws GridClientException {
-                    return fut.get().getResult();
+                    GridClientTaskResultBean resBean = fut.get();
+
+                    if (resBean != null)
+                        return resBean.getResult();
+                    else
+                        return null;
                 }
             });
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32697ab0/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java
index 722ad91..b9a55e1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java
@@ -22,6 +22,7 @@ import org.apache.ignite.compute.*;
 import org.apache.ignite.internal.processors.task.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.internal.visor.*;
+import org.apache.ignite.internal.visor.util.*;
 import org.jetbrains.annotations.*;
 
 import java.util.*;
@@ -47,6 +48,9 @@ public class VisorQueryCleanupTask extends VisorMultiNodeTask<Map<UUID, Collecti
         @Nullable VisorTaskArgument<Map<UUID, Collection<String>>> arg) {
         Set<UUID> nodeIds = taskArg.keySet();
 
+        if (nodeIds.isEmpty())
+            throw new VisorEmptyTopologyException("Nothing to clear. List with node IDs is empty!");
+
         Map<ComputeJob, ClusterNode> map = U.newHashMap(nodeIds.size());
 
         try {
@@ -54,6 +58,16 @@ public class VisorQueryCleanupTask extends VisorMultiNodeTask<Map<UUID, Collecti
                 if (nodeIds.contains(node.id()))
                     map.put(new VisorQueryCleanupJob(taskArg.get(node.id()), debug), node);
 
+            if (map.isEmpty()) {
+                String notFoundNodes = "";
+
+                for (UUID nid : nodeIds)
+                    notFoundNodes = notFoundNodes + (notFoundNodes.isEmpty() ? "" : ",")  + U.id8(nid);
+
+                throw new VisorEmptyTopologyException("Failed to clear query results. Nodes are not available: [" +
+                    notFoundNodes + "]");
+            }
+
             return map;
         }
         finally {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32697ab0/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEmptyTopologyException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEmptyTopologyException.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEmptyTopologyException.java
new file mode 100644
index 0000000..fda1bd7
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEmptyTopologyException.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.visor.util;
+
+import org.apache.ignite.*;
+
+/**
+ * Marker exception for indication of empty topology in Visor tasks.
+ */
+public class VisorEmptyTopologyException extends IgniteException {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /** @inheritDoc */
+    public VisorEmptyTopologyException(String msg) {
+        super(msg);
+    }
+}


[32/32] incubator-ignite git commit: Merge branch 'ignite-gg-10298' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-gg-10298

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


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

Branch: refs/heads/ignite-gg-10298
Commit: 23a3f1099cd4ac678fc3e8f4d200f1b80c4dd64e
Parents: e428f42 b843dab
Author: iveselovskiy <iv...@gridgain.com>
Authored: Mon Jun 29 18:46:45 2015 +0300
Committer: iveselovskiy <iv...@gridgain.com>
Committed: Mon Jun 29 18:46:45 2015 +0300

----------------------------------------------------------------------

----------------------------------------------------------------------



[13/32] incubator-ignite git commit: Merge remote-tracking branch 'remotes/origin/ignite-sprint-7' into ignite-gg-10453

Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/ignite-sprint-7' into ignite-gg-10453


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

Branch: refs/heads/ignite-gg-10298
Commit: d86882c3597080c62877ba36b916dda29089b900
Parents: 3231f93 6e23608
Author: sboikov <sb...@gridgain.com>
Authored: Fri Jun 26 16:55:32 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri Jun 26 16:55:32 2015 +0300

----------------------------------------------------------------------
 .../GridCachePartitionExchangeManager.java      |   6 +-
 .../ignite/spi/discovery/tcp/ClientImpl.java    | 151 ++++++-----
 .../ignite/spi/discovery/tcp/ServerImpl.java    | 103 +++++--
 .../spi/discovery/tcp/TcpDiscoverySpi.java      |   3 +-
 ...achePartitionedMultiNodeFullApiSelfTest.java |   4 +-
 .../tcp/TcpClientDiscoverySpiSelfTest.java      | 265 ++++++++++++++++++-
 6 files changed, 451 insertions(+), 81 deletions(-)
----------------------------------------------------------------------



[04/32] incubator-ignite git commit: # GG-10457 Added check for illegal cache state + minor javadocs fixes.

Posted by sb...@apache.org.
# GG-10457 Added check for illegal cache state + minor javadocs fixes.


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

Branch: refs/heads/ignite-gg-10298
Commit: 12821b79d2304f3e9a435e6323c57bc71f85bd2d
Parents: 1c66078
Author: AKuznetsov <ak...@gridgain.com>
Authored: Tue Jun 23 15:26:19 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Tue Jun 23 15:26:19 2015 +0700

----------------------------------------------------------------------
 .../src/main/java/org/apache/ignite/internal/visor/VisorJob.java | 2 ++
 .../org/apache/ignite/internal/visor/log/VisorLogSearchTask.java | 2 +-
 .../ignite/internal/visor/node/VisorNodeDataCollectorJob.java    | 4 ++++
 3 files changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12821b79/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorJob.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorJob.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorJob.java
index 34414b5..8a017a4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorJob.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorJob.java
@@ -47,6 +47,7 @@ public abstract class VisorJob<A, R> extends ComputeJobAdapter {
      * Create job with specified argument.
      *
      * @param arg Job argument.
+     * @param debug Flag indicating whether debug information should be printed into node log.
      */
     protected VisorJob(@Nullable A arg, boolean debug) {
         super(arg);
@@ -77,6 +78,7 @@ public abstract class VisorJob<A, R> extends ComputeJobAdapter {
      *
      * @param arg Task argument.
      * @return Result.
+     * @throws IgniteException In case of error.
      */
     protected abstract R run(@Nullable A arg) throws IgniteException;
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12821b79/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchTask.java
index 3ebfb2d..0fa5f06 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchTask.java
@@ -136,7 +136,7 @@ public class VisorLogSearchTask extends VisorMultiNodeTask<VisorLogSearchTask.Vi
          * @param searchStr Search string.
          * @param limit Max number of search results.
          * @return Collection of found descriptors.
-         * @throws IOException
+         * @throws IOException In case of I/O error.
          */
         private List<GridTuple3<String[], Integer, Integer>> searchInFile(File f, Charset charset, String searchStr,
             int limit) throws IOException {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12821b79/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
index c850ab0..2ecba01 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
@@ -130,6 +130,10 @@ public class VisorNodeDataCollectorJob extends VisorJob<VisorNodeDataCollectorTa
                         if (cache != null)
                             res.caches().add(cache);
                     }
+                    catch(IllegalStateException e) {
+                        if (debug && ignite.log() != null)
+                            ignite.log().error("Ignored cache: " + cacheName, e);
+                    }
                     finally {
                         if (debug)
                             log(ignite.log(), "Collected cache: " + cacheName, getClass(), start0);


[30/32] incubator-ignite git commit: Merge branch 'ignite-sprint-7' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-gg-10298

Posted by sb...@apache.org.
Merge branch 'ignite-sprint-7' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-gg-10298


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

Branch: refs/heads/ignite-gg-10298
Commit: be973e232559dccd8969baf5ccae9373bd8ad29b
Parents: 64fb6e7 1d5cfbc
Author: iveselovskiy <iv...@gridgain.com>
Authored: Mon Jun 29 18:43:48 2015 +0300
Committer: iveselovskiy <iv...@gridgain.com>
Committed: Mon Jun 29 18:43:48 2015 +0300

----------------------------------------------------------------------
 .../org/apache/ignite/cluster/ClusterGroup.java |   9 +-
 .../ignite/internal/GridKernalContextImpl.java  |   2 +-
 .../internal/cluster/ClusterGroupAdapter.java   |  12 +-
 .../cluster/IgniteClusterAsyncImpl.java         |   7 +-
 .../discovery/GridDiscoveryManager.java         |   6 +
 .../GridCachePartitionExchangeManager.java      |   6 +-
 .../processors/cache/GridCacheProcessor.java    |  62 ++++-
 .../processors/rest/GridRestProcessor.java      |   4 +-
 .../handlers/task/GridTaskCommandHandler.java   |  12 +-
 .../processors/task/GridTaskWorker.java         |   4 +-
 .../apache/ignite/internal/visor/VisorJob.java  |   2 +
 .../internal/visor/log/VisorLogSearchTask.java  |   2 +-
 .../visor/node/VisorNodeDataCollectorJob.java   |   4 +
 .../visor/query/VisorQueryCleanupTask.java      |  14 +
 .../util/VisorClusterGroupEmptyException.java   |  37 +++
 .../ignite/spi/discovery/tcp/ClientImpl.java    | 151 ++++++-----
 .../ignite/spi/discovery/tcp/ServerImpl.java    | 103 +++++--
 .../spi/discovery/tcp/TcpDiscoverySpi.java      |   3 +-
 .../internal/ClusterForHostsSelfTest.java       | 113 --------
 .../internal/ClusterGroupHostsSelfTest.java     | 141 ++++++++++
 .../cache/GridCacheDaemonNodeStopSelfTest.java  | 119 ---------
 .../IgniteDaemonNodeMarshallerCacheTest.java    | 192 ++++++++++++++
 ...achePartitionedMultiNodeFullApiSelfTest.java |   4 +-
 .../tcp/TcpClientDiscoverySpiSelfTest.java      | 265 ++++++++++++++++++-
 .../ignite/testsuites/IgniteBasicTestSuite.java |   3 +-
 .../testsuites/IgniteCacheTestSuite3.java       |   1 -
 pom.xml                                         |  12 +-
 27 files changed, 947 insertions(+), 343 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/be973e23/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
----------------------------------------------------------------------


[22/32] incubator-ignite git commit: Fixed javadoc build.

Posted by sb...@apache.org.
Fixed javadoc build.


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

Branch: refs/heads/ignite-gg-10298
Commit: 1a21477898fb69df09eafb0ec8bedec7e06ec462
Parents: c6187a9
Author: nikolay_tikhonov <nt...@gridgain.com>
Authored: Mon Jun 29 11:20:40 2015 +0300
Committer: nikolay_tikhonov <nt...@gridgain.com>
Committed: Mon Jun 29 11:20:40 2015 +0300

----------------------------------------------------------------------
 .../internal/visor/util/VisorClusterGroupEmptyException.java   | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1a214778/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorClusterGroupEmptyException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorClusterGroupEmptyException.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorClusterGroupEmptyException.java
index b969178..0cca514 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorClusterGroupEmptyException.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorClusterGroupEmptyException.java
@@ -26,7 +26,11 @@ public class VisorClusterGroupEmptyException extends ClusterGroupEmptyException
     /** */
     private static final long serialVersionUID = 0L;
 
-    /** @inheritDoc */
+    /**
+     * Creates exception with given error message.
+     *
+     * @param msg Error message.
+     */
     public VisorClusterGroupEmptyException(String msg) {
         super(msg);
     }


[10/32] incubator-ignite git commit: # ignite-1017

Posted by sb...@apache.org.
# ignite-1017


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

Branch: refs/heads/ignite-gg-10298
Commit: 5b237e15ccab0e48b69045cd1c55698ac26b8cd0
Parents: 01d842a
Author: Atri <at...@gmail.com>
Authored: Tue Jun 23 19:02:23 2015 +0530
Committer: ashutak <as...@gridgain.com>
Committed: Fri Jun 26 14:11:35 2015 +0300

----------------------------------------------------------------------
 .../org/apache/ignite/cluster/ClusterGroup.java     | 16 ++++++++++++++++
 .../internal/cluster/ClusterGroupAdapter.java       |  7 +++++++
 .../internal/cluster/IgniteClusterAsyncImpl.java    |  5 +++++
 3 files changed, 28 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5b237e15/modules/core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java b/modules/core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java
index 2f43fc6..9627f76 100644
--- a/modules/core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java
+++ b/modules/core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java
@@ -131,10 +131,26 @@ public interface ClusterGroup {
      * @param name Name of the attribute.
      * @param val Optional attribute value to match.
      * @return Cluster group for nodes containing specified attribute.
+     *
+     * @deprecated use {@link ClusterGroup#forAttribute(String name, @Nullable Object val}
      */
     public ClusterGroup forAttribute(String name, @Nullable String val);
 
     /**
+     * Creates a new cluster group for nodes containing given name and value
+     * specified in user attributes.
+     * <p>
+     * User attributes for every node are optional and can be specified in
+     * grid node configuration. See {@link IgniteConfiguration#getUserAttributes()}
+     * for more information.
+     *
+     * @param name Name of the attribute.
+     * @param val Optional attribute value to match.
+     * @return Cluster group for nodes containing specified attribute.
+     */
+    public ClusterGroup forAttribute(String name, @Nullable Object val);
+
+    /**
      * Creates a cluster group of nodes started in server mode.
      *
      * @see Ignition#setClientMode(boolean)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5b237e15/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
index b940017..414f5ba 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
@@ -352,6 +352,13 @@ public class ClusterGroupAdapter implements ClusterGroupEx, Externalizable {
     }
 
     /** {@inheritDoc} */
+    @Override public final ClusterGroup forAttribute(String name, @Nullable final Object val) {
+        A.notNull(name, "n");
+
+        return forPredicate(new AttributeFilter(name, val));
+    }
+
+    /** {@inheritDoc} */
     @Override public ClusterGroup forServers() {
         return forPredicate(new AttributeFilter(IgniteNodeAttributes.ATTR_CLIENT_MODE, false));
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5b237e15/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java
index 6e68527..f676261 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java
@@ -197,6 +197,11 @@ public class IgniteClusterAsyncImpl extends AsyncSupportAdapter<IgniteCluster>
     }
 
     /** {@inheritDoc} */
+    @Override public ClusterGroup forAttribute(String name, @Nullable Object val) {
+        return cluster.forAttribute(name, val);
+    }
+
+    /** {@inheritDoc} */
     @Override public ClusterGroup forServers() {
         return cluster.forServers();
     }


[21/32] incubator-ignite git commit: # ignite-gg-10453 removed test (test is invalid after fix)

Posted by sb...@apache.org.
# ignite-gg-10453 removed test (test is invalid after fix)


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

Branch: refs/heads/ignite-gg-10298
Commit: d51db291037866b03ac828430cfdcc914c2f79ed
Parents: d86882c
Author: sboikov <sb...@gridgain.com>
Authored: Mon Jun 29 09:21:05 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Mon Jun 29 09:21:05 2015 +0300

----------------------------------------------------------------------
 .../cache/GridCacheDaemonNodeStopSelfTest.java  | 119 -------------------
 .../testsuites/IgniteCacheTestSuite3.java       |   1 -
 2 files changed, 120 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d51db291/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDaemonNodeStopSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDaemonNodeStopSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDaemonNodeStopSelfTest.java
deleted file mode 100644
index c56ad1c..0000000
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDaemonNodeStopSelfTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.processors.cache;
-
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.internal.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.apache.ignite.testframework.*;
-import org.apache.ignite.testframework.junits.common.*;
-
-import java.util.concurrent.*;
-
-import static org.apache.ignite.cache.CacheAtomicityMode.*;
-import static org.apache.ignite.cache.CacheMode.*;
-
-/**
- * Test cache operations with daemon node.
- */
-public class GridCacheDaemonNodeStopSelfTest extends GridCommonAbstractTest {
-    /** */
-    private static TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
-
-    /** Daemon flag. */
-    protected boolean daemon;
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        super.beforeTest();
-
-        daemon = false;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
-        IgniteConfiguration c = super.getConfiguration(gridName);
-
-        c.setDaemon(daemon);
-
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
-
-        disco.setIpFinder(ipFinder);
-
-        c.setDiscoverySpi(disco);
-
-        c.setConnectorConfiguration(null);
-
-        CacheConfiguration cc = defaultCacheConfiguration();
-
-        cc.setCacheMode(LOCAL);
-        cc.setAtomicityMode(ATOMIC);
-
-        TransactionConfiguration cfg = new TransactionConfiguration();
-
-        c.setTransactionConfiguration(cfg);
-
-        c.setCacheConfiguration(cc);
-
-        return c;
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testStartStop() throws Exception {
-        try {
-            daemon = true;
-
-            final IgniteEx daemonNode = startGrid(0);
-
-            final IgniteInternalFuture<Object> f = GridTestUtils.runAsync(new Callable<Object>() {
-                @Override public Object call() throws Exception {
-                    daemonNode.context().marshallerContext().getClass(1,
-                        GridCacheDaemonNodeStopSelfTest.class.getClassLoader());
-
-                    return null;
-                }
-            });
-
-            GridTestUtils.assertThrowsWithCause(new Callable<Object>() {
-                @Override public Object call() throws Exception {
-                    f.get(300);
-
-                    return null;
-                }
-            }, IgniteFutureTimeoutCheckedException.class);
-
-            // Stop grid.
-            stopGrid(0);
-
-            GridTestUtils.assertThrowsWithCause(new Callable<Object>() {
-                @Override public Object call() throws Exception {
-                    f.get(5, TimeUnit.SECONDS);
-
-                    return null;
-                }
-            }, IllegalStateException.class);
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d51db291/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite3.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite3.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite3.java
index b83f50f..5947d33 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite3.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite3.java
@@ -100,7 +100,6 @@ public class IgniteCacheTestSuite3 extends TestSuite {
         suite.addTestSuite(GridCacheDaemonNodeLocalSelfTest.class);
         suite.addTestSuite(GridCacheDaemonNodePartitionedSelfTest.class);
         suite.addTestSuite(GridCacheDaemonNodeReplicatedSelfTest.class);
-        suite.addTestSuite(GridCacheDaemonNodeStopSelfTest.class);
 
         // Write-behind.
         suite.addTest(IgniteCacheWriteBehindTestSuite.suite());


[19/32] incubator-ignite git commit: Merge branch 'ignite-gg-10457' into ignite-sprint-7

Posted by sb...@apache.org.
Merge branch 'ignite-gg-10457' into ignite-sprint-7


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

Branch: refs/heads/ignite-gg-10298
Commit: 6996ea9ee6fadd076ad13a1fd9c03a5a52fc3b6b
Parents: 2ee616d 60c4d65
Author: AKuznetsov <ak...@gridgain.com>
Authored: Mon Jun 29 10:44:52 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Mon Jun 29 10:44:52 2015 +0700

----------------------------------------------------------------------
 .../src/main/java/org/apache/ignite/internal/visor/VisorJob.java | 2 ++
 .../org/apache/ignite/internal/visor/log/VisorLogSearchTask.java | 2 +-
 .../ignite/internal/visor/node/VisorNodeDataCollectorJob.java    | 4 ++++
 3 files changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------



[25/32] incubator-ignite git commit: minor fix

Posted by sb...@apache.org.
minor fix


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

Branch: refs/heads/ignite-gg-10298
Commit: a226666663f0d5de94284a3662a6103c1d9c2b17
Parents: f45f96d
Author: avinogradov <av...@gridgain.com>
Authored: Mon Jun 29 15:55:41 2015 +0300
Committer: avinogradov <av...@gridgain.com>
Committed: Mon Jun 29 15:55:41 2015 +0300

----------------------------------------------------------------------
 pom.xml | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a2266666/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index b935b2e..4f2441c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -604,12 +604,12 @@
                                         </copy>
 
                                         <!-- appending filename to md5 and sha1 files. to be improved. -->
-                                        <concat destfile="${basedir}/target/site/${project.artifactId}-fabric-${project.version}-bin.zip.md5" append="true"> ${project.artifactId}-fabric-${project.version}-bin.zip</concat>
-                                        <concat destfile="${basedir}/target/site/${project.artifactId}-fabric-${project.version}-bin.zip.sha1" append="true"> ${project.artifactId}-fabric-${project.version}-bin.zip</concat>
-                                        <concat destfile="${basedir}/target/site/${project.artifactId}-hadoop-${project.version}-bin.zip.md5" append="true"> ${project.artifactId}-hadoop-${project.version}-bin.zip</concat>
-                                        <concat destfile="${basedir}/target/site/${project.artifactId}-hadoop-${project.version}-bin.zip.sha1" append="true"> ${project.artifactId}-hadoop-${project.version}-bin.zip</concat>
-                                        <concat destfile="${basedir}/target/site/${project.artifactId}-${project.version}-src.zip.md5" append="true"> ${project.artifactId}-${project.version}-src.zip</concat>
-                                        <concat destfile="${basedir}/target/site/${project.artifactId}-${project.version}-src.zip.sha1" append="true"> ${project.artifactId}-${project.version}-src.zip</concat>
+                                        <echo file="${basedir}/target/site/${project.artifactId}-fabric-${project.version}-bin.zip.md5" append="true" message=" ${project.artifactId}-fabric-${project.version}-bin.zip"/>
+                                        <echo file="${basedir}/target/site/${project.artifactId}-fabric-${project.version}-bin.zip.sha1" append="true" message=" ${project.artifactId}-fabric-${project.version}-bin.zip"/>
+                                        <echo file="${basedir}/target/site/${project.artifactId}-hadoop-${project.version}-bin.zip.md5" append="true" message=" ${project.artifactId}-hadoop-${project.version}-bin.zip"/>
+                                        <echo file="${basedir}/target/site/${project.artifactId}-hadoop-${project.version}-bin.zip.sha1" append="true" message=" ${project.artifactId}-hadoop-${project.version}-bin.zip"/>
+                                        <echo file="${basedir}/target/site/${project.artifactId}-${project.version}-src.zip.md5" append="true" message=" ${project.artifactId}-${project.version}-src.zip"/>
+                                        <echo file="${basedir}/target/site/${project.artifactId}-${project.version}-src.zip.sha1" append="true" message=" ${project.artifactId}-${project.version}-src.zip"/>
 
                                         <copy file="${basedir}/KEYS" todir="${basedir}/target/site" failonerror="false" />
                                     </target>


[18/32] incubator-ignite git commit: Merge branch 'ignite-1006' into ignite-sprint-7

Posted by sb...@apache.org.
Merge branch 'ignite-1006' into ignite-sprint-7


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

Branch: refs/heads/ignite-gg-10298
Commit: 2ee616def5f532b2a049f0ba3a1582cd0bbcbaa0
Parents: 70238a6 8fd909d
Author: ashutak <as...@gridgain.com>
Authored: Fri Jun 26 18:02:08 2015 +0300
Committer: ashutak <as...@gridgain.com>
Committed: Fri Jun 26 18:02:08 2015 +0300

----------------------------------------------------------------------
 .../org/apache/ignite/cluster/ClusterGroup.java |   7 +
 .../internal/cluster/ClusterGroupAdapter.java   |  10 ++
 .../cluster/IgniteClusterAsyncImpl.java         |   5 +
 .../internal/ClusterForHostsSelfTest.java       | 113 ---------------
 .../internal/ClusterGroupHostsSelfTest.java     | 141 +++++++++++++++++++
 .../ignite/testsuites/IgniteBasicTestSuite.java |   2 +-
 6 files changed, 164 insertions(+), 114 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2ee616de/modules/core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2ee616de/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2ee616de/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java
----------------------------------------------------------------------


[07/32] incubator-ignite git commit: # GG-10457 Fixed collecting cache data.

Posted by sb...@apache.org.
# GG-10457 Fixed collecting cache data.


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

Branch: refs/heads/ignite-gg-10298
Commit: 775edcb25354ca6f3682db67cca6ce0c312e4607
Parents: 3270622
Author: AKuznetsov <ak...@gridgain.com>
Authored: Thu Jun 25 22:54:57 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Thu Jun 25 22:54:57 2015 +0700

----------------------------------------------------------------------
 .../ignite/internal/visor/node/VisorNodeDataCollectorJob.java      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/775edcb2/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
index 2ecba01..4d601d2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
@@ -130,7 +130,7 @@ public class VisorNodeDataCollectorJob extends VisorJob<VisorNodeDataCollectorTa
                         if (cache != null)
                             res.caches().add(cache);
                     }
-                    catch(IllegalStateException e) {
+                    catch(IllegalStateException | IllegalArgumentException e) {
                         if (debug && ignite.log() != null)
                             ignite.log().error("Ignored cache: " + cacheName, e);
                     }


[03/32] incubator-ignite git commit: # GG-10404 Suppress Visor exceptions.

Posted by sb...@apache.org.
# GG-10404 Suppress Visor exceptions.


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

Branch: refs/heads/ignite-gg-10298
Commit: c62c410bcf1a1f353fa586e515f846746cb4a482
Parents: 6779071
Author: AKuznetsov <ak...@gridgain.com>
Authored: Fri Jun 12 17:39:09 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Fri Jun 12 17:39:09 2015 +0700

----------------------------------------------------------------------
 .../connection/GridClientNioTcpConnection.java  |  7 +----
 .../processors/rest/GridRestProcessor.java      |  4 ++-
 .../handlers/task/GridTaskCommandHandler.java   | 12 ++++---
 .../processors/task/GridTaskWorker.java         |  4 ++-
 .../visor/query/VisorQueryCleanupTask.java      |  4 +--
 .../util/VisorClusterGroupEmptyException.java   | 33 ++++++++++++++++++++
 .../visor/util/VisorEmptyTopologyException.java | 33 --------------------
 7 files changed, 50 insertions(+), 47 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c62c410b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java
index 67709b8..d247e05 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java
@@ -750,12 +750,7 @@ public class GridClientNioTcpConnection extends GridClientConnection {
             new GridClientFutureCallback<GridClientTaskResultBean, R>() {
                 @Override public R onComplete(GridClientFuture<GridClientTaskResultBean> fut)
                     throws GridClientException {
-                    GridClientTaskResultBean resBean = fut.get();
-
-                    if (resBean != null)
-                        return resBean.getResult();
-                    else
-                        return null;
+                    return fut.get().getResult();
                 }
             });
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c62c410b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
index 52ca610..2d1d802 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
@@ -36,6 +36,7 @@ import org.apache.ignite.internal.util.future.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.internal.util.worker.*;
+import org.apache.ignite.internal.visor.util.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.plugin.security.*;
 import org.apache.ignite.plugin.security.SecurityException;
@@ -214,7 +215,8 @@ public class GridRestProcessor extends GridProcessorAdapter {
                     res = f.get();
                 }
                 catch (Exception e) {
-                    LT.error(log, e, "Failed to handle request: " + req.command());
+                    if (!X.hasCause(e, VisorClusterGroupEmptyException.class))
+                        LT.error(log, e, "Failed to handle request: " + req.command());
 
                     if (log.isDebugEnabled())
                         log.debug("Failed to handle request [req=" + req + ", e=" + e + "]");

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c62c410b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/task/GridTaskCommandHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/task/GridTaskCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/task/GridTaskCommandHandler.java
index a647cd1..d832b21 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/task/GridTaskCommandHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/task/GridTaskCommandHandler.java
@@ -33,6 +33,7 @@ import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.future.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
+import org.apache.ignite.internal.visor.util.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
 import org.jetbrains.annotations.*;
@@ -134,7 +135,8 @@ public class GridTaskCommandHandler extends GridRestCommandHandlerAdapter {
             return handleAsyncUnsafe(req);
         }
         catch (IgniteCheckedException e) {
-            U.error(log, "Failed to execute task command: " + req, e);
+            if (!X.hasCause(e, VisorClusterGroupEmptyException.class))
+                U.error(log, "Failed to execute task command: " + req, e);
 
             return new GridFinishedFuture<>(e);
         }
@@ -237,9 +239,11 @@ public class GridTaskCommandHandler extends GridRestCommandHandlerAdapter {
                                     U.warn(log, "Failed to execute task due to topology issues (are all mapped " +
                                         "nodes alive?) [name=" + name + ", clientId=" + req.clientId() +
                                         ", err=" + e + ']');
-                                else
-                                    U.error(log, "Failed to execute task [name=" + name + ", clientId=" +
-                                        req.clientId() + ']', e);
+                                else {
+                                    if (!X.hasCause(e, VisorClusterGroupEmptyException.class))
+                                        U.error(log, "Failed to execute task [name=" + name + ", clientId=" +
+                                            req.clientId() + ']', e);
+                                }
 
                                 desc = new TaskDescriptor(true, null, e);
                             }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c62c410b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskWorker.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskWorker.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskWorker.java
index f6d686c..eb5fa77 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskWorker.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskWorker.java
@@ -30,6 +30,7 @@ import org.apache.ignite.internal.processors.timeout.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.internal.util.worker.*;
+import org.apache.ignite.internal.visor.util.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.marshaller.*;
 import org.apache.ignite.resources.*;
@@ -443,7 +444,8 @@ class GridTaskWorker<T, R> extends GridWorker implements GridTimeoutObject {
         }
         catch (IgniteException | IgniteCheckedException e) {
             if (!fut.isCancelled()) {
-                U.error(log, "Failed to map task jobs to nodes: " + ses, e);
+                if (!(e instanceof VisorClusterGroupEmptyException))
+                    U.error(log, "Failed to map task jobs to nodes: " + ses, e);
 
                 finishTask(null, e);
             }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c62c410b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java
index b9a55e1..5ceb300 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java
@@ -49,7 +49,7 @@ public class VisorQueryCleanupTask extends VisorMultiNodeTask<Map<UUID, Collecti
         Set<UUID> nodeIds = taskArg.keySet();
 
         if (nodeIds.isEmpty())
-            throw new VisorEmptyTopologyException("Nothing to clear. List with node IDs is empty!");
+            throw new VisorClusterGroupEmptyException("Nothing to clear. List with node IDs is empty!");
 
         Map<ComputeJob, ClusterNode> map = U.newHashMap(nodeIds.size());
 
@@ -64,7 +64,7 @@ public class VisorQueryCleanupTask extends VisorMultiNodeTask<Map<UUID, Collecti
                 for (UUID nid : nodeIds)
                     notFoundNodes = notFoundNodes + (notFoundNodes.isEmpty() ? "" : ",")  + U.id8(nid);
 
-                throw new VisorEmptyTopologyException("Failed to clear query results. Nodes are not available: [" +
+                throw new VisorClusterGroupEmptyException("Failed to clear query results. Nodes are not available: [" +
                     notFoundNodes + "]");
             }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c62c410b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorClusterGroupEmptyException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorClusterGroupEmptyException.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorClusterGroupEmptyException.java
new file mode 100644
index 0000000..b969178
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorClusterGroupEmptyException.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.visor.util;
+
+import org.apache.ignite.cluster.*;
+
+/**
+ * Exception to throw from Visor tasks in case of empty topology.
+ */
+public class VisorClusterGroupEmptyException extends ClusterGroupEmptyException {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /** @inheritDoc */
+    public VisorClusterGroupEmptyException(String msg) {
+        super(msg);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c62c410b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEmptyTopologyException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEmptyTopologyException.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEmptyTopologyException.java
deleted file mode 100644
index fda1bd7..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEmptyTopologyException.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.visor.util;
-
-import org.apache.ignite.*;
-
-/**
- * Marker exception for indication of empty topology in Visor tasks.
- */
-public class VisorEmptyTopologyException extends IgniteException {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** @inheritDoc */
-    public VisorEmptyTopologyException(String msg) {
-        super(msg);
-    }
-}


[24/32] incubator-ignite git commit: Merge remote-tracking branch 'remotes/origin/ignite-gg-10453' into ignite-sprint-7

Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/ignite-gg-10453' into ignite-sprint-7


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

Branch: refs/heads/ignite-gg-10298
Commit: 15f3612d31a1f39046d4bf5cc7be6e0aed7d02c8
Parents: f45f96d d51db29
Author: sboikov <sb...@gridgain.com>
Authored: Mon Jun 29 15:25:53 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Mon Jun 29 15:25:53 2015 +0300

----------------------------------------------------------------------
 .../ignite/internal/GridKernalContextImpl.java  |   2 +-
 .../processors/cache/GridCacheProcessor.java    |  62 ++++--
 .../cache/GridCacheDaemonNodeStopSelfTest.java  | 119 ------------
 .../IgniteDaemonNodeMarshallerCacheTest.java    | 192 +++++++++++++++++++
 .../ignite/testsuites/IgniteBasicTestSuite.java |   1 +
 .../testsuites/IgniteCacheTestSuite3.java       |   1 -
 6 files changed, 245 insertions(+), 132 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/15f3612d/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
----------------------------------------------------------------------


[09/32] incubator-ignite git commit: Merge branch 'ignite-sprint-7' into ignite-1006

Posted by sb...@apache.org.
Merge branch 'ignite-sprint-7' into ignite-1006


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

Branch: refs/heads/ignite-gg-10298
Commit: a8232be601851ca9658502de12f38ac86c1e6758
Parents: c6f66c6 3e8ddb4
Author: ashutak <as...@gridgain.com>
Authored: Thu Jun 25 21:12:09 2015 +0300
Committer: ashutak <as...@gridgain.com>
Committed: Thu Jun 25 21:12:09 2015 +0300

----------------------------------------------------------------------
 DEVNOTES.txt                                    |  21 +
 RELEASE_NOTES.txt                               |  12 +
 assembly/dependencies-fabric.xml                |   1 +
 examples/config/example-cache.xml               |   2 +
 examples/pom.xml                                |  36 +-
 idea/ignite_codeStyle.xml                       | 147 ++++
 modules/aop/pom.xml                             |   2 +-
 modules/aws/pom.xml                             |   2 +-
 .../s3/S3CheckpointManagerSelfTest.java         |   2 +-
 .../checkpoint/s3/S3CheckpointSpiSelfTest.java  |   4 +-
 .../s3/S3CheckpointSpiStartStopSelfTest.java    |   2 +-
 .../s3/S3SessionCheckpointSelfTest.java         |   2 +-
 .../s3/TcpDiscoveryS3IpFinderSelfTest.java      |   2 +-
 modules/clients/pom.xml                         |   2 +-
 .../ClientAbstractConnectivitySelfTest.java     |   4 +-
 .../client/router/TcpSslRouterSelfTest.java     |   5 +
 .../client/suite/IgniteClientTestSuite.java     |   3 +-
 modules/cloud/pom.xml                           |   2 +-
 .../cloud/TcpDiscoveryCloudIpFinder.java        |  25 +-
 .../TcpDiscoveryCloudIpFinderSelfTest.java      |   3 +-
 modules/codegen/pom.xml                         |   2 +-
 modules/core/pom.xml                            |   3 +-
 .../apache/ignite/IgniteSystemProperties.java   |   6 +
 .../apache/ignite/cache/query/ScanQuery.java    |  48 +-
 .../cache/store/jdbc/CacheJdbcBlobStore.java    |  22 +-
 .../store/jdbc/CacheJdbcBlobStoreFactory.java   | 290 +++++++
 .../cache/store/jdbc/CacheJdbcPojoStore.java    |   6 +-
 .../store/jdbc/CacheJdbcPojoStoreFactory.java   | 148 ++++
 .../org/apache/ignite/cluster/ClusterGroup.java |   9 +
 .../org/apache/ignite/cluster/ClusterNode.java  |   2 +
 .../ignite/compute/ComputeTaskSplitAdapter.java |   2 +-
 .../configuration/CacheConfiguration.java       |   4 +-
 .../configuration/IgniteReflectionFactory.java  |  81 +-
 .../ignite/internal/GridKernalContextImpl.java  |   8 +-
 .../ignite/internal/GridPluginContext.java      |   6 +
 .../apache/ignite/internal/IgniteKernal.java    |  13 +-
 .../internal/MarshallerContextAdapter.java      |  48 +-
 .../ignite/internal/MarshallerContextImpl.java  |  36 +-
 .../client/GridClientConfiguration.java         |   2 +-
 .../GridClientOptimizedMarshaller.java          |  26 +
 .../impl/GridTcpRouterNioListenerAdapter.java   |   2 +-
 .../internal/cluster/ClusterGroupAdapter.java   |  38 +
 .../cluster/IgniteClusterAsyncImpl.java         |   5 +
 .../internal/interop/InteropBootstrap.java      |   3 +-
 .../internal/interop/InteropIgnition.java       |  57 +-
 .../internal/interop/InteropProcessor.java      |   8 +
 .../internal/managers/GridManagerAdapter.java   |   8 +-
 .../discovery/GridDiscoveryManager.java         |  39 +-
 .../affinity/AffinityTopologyVersion.java       |   7 -
 .../affinity/GridAffinityAssignmentCache.java   |   5 +-
 .../processors/cache/GridCacheAdapter.java      |  19 +-
 .../processors/cache/GridCacheContext.java      |   2 +-
 .../processors/cache/GridCacheIoManager.java    |  64 +-
 .../processors/cache/GridCacheMessage.java      |  51 --
 .../GridCachePartitionExchangeManager.java      |  73 +-
 .../processors/cache/GridCacheProcessor.java    |  91 ++-
 .../processors/cache/GridCacheSwapManager.java  |  67 +-
 .../processors/cache/GridCacheUtils.java        |   9 +
 .../processors/cache/IgniteCacheProxy.java      |  23 +-
 .../processors/cache/KeyCacheObjectImpl.java    |  11 +-
 .../processors/cache/QueryCursorImpl.java       |  23 +-
 .../distributed/GridCacheTxRecoveryRequest.java |  26 +-
 .../GridCacheTxRecoveryResponse.java            |  14 +-
 .../distributed/GridDistributedBaseMessage.java |  77 +-
 .../distributed/GridDistributedLockRequest.java |  54 +-
 .../GridDistributedLockResponse.java            |  14 +-
 .../GridDistributedTxFinishRequest.java         |  46 +-
 .../GridDistributedTxPrepareRequest.java        |  62 +-
 .../GridDistributedTxPrepareResponse.java       |  64 +-
 .../GridDistributedUnlockRequest.java           |   6 +-
 .../distributed/dht/GridDhtLocalPartition.java  |  66 +-
 .../distributed/dht/GridDhtLockFuture.java      |   2 +-
 .../distributed/dht/GridDhtLockRequest.java     |  72 +-
 .../distributed/dht/GridDhtLockResponse.java    |  18 +-
 .../dht/GridDhtPartitionTopologyImpl.java       |   4 +-
 .../dht/GridDhtPartitionsReservation.java       | 292 +++++++
 .../dht/GridDhtTransactionalCacheAdapter.java   |   2 +-
 .../distributed/dht/GridDhtTxFinishRequest.java |  38 +-
 .../dht/GridDhtTxPrepareRequest.java            |  54 +-
 .../dht/GridDhtTxPrepareResponse.java           |  22 +-
 .../distributed/dht/GridDhtUnlockRequest.java   |   6 +-
 .../cache/distributed/dht/GridReservable.java   |  35 +
 .../dht/atomic/GridDhtAtomicCache.java          |   9 +-
 .../dht/preloader/GridDhtPartitionMap.java      |  26 +-
 .../GridDhtPartitionsExchangeFuture.java        |  95 ++-
 .../dht/preloader/GridDhtPreloader.java         |   2 +-
 .../distributed/near/GridNearLockRequest.java   |  58 +-
 .../distributed/near/GridNearLockResponse.java  |  26 +-
 .../near/GridNearTxFinishRequest.java           |  26 +-
 .../near/GridNearTxPrepareRequest.java          |  50 +-
 .../near/GridNearTxPrepareResponse.java         |  46 +-
 .../distributed/near/GridNearUnlockRequest.java |   2 +-
 .../processors/cache/query/CacheQuery.java      |   2 +-
 .../query/GridCacheDistributedQueryManager.java |   3 +
 .../cache/query/GridCacheQueryAdapter.java      | 147 +++-
 .../cache/query/GridCacheQueryManager.java      | 243 +++---
 .../cache/query/GridCacheQueryRequest.java      |  47 +-
 .../cache/query/GridCacheTwoStepQuery.java      |  22 +-
 .../processors/cache/query/QueryCursorEx.java   |   8 +
 .../continuous/CacheContinuousQueryHandler.java |   8 +
 .../cache/transactions/IgniteTxHandler.java     |   5 +-
 .../transactions/IgniteTxLocalAdapter.java      |  12 +-
 .../cacheobject/IgniteCacheObjectProcessor.java |   9 +-
 .../IgniteCacheObjectProcessorImpl.java         |  12 +-
 .../continuous/GridContinuousProcessor.java     |  15 +-
 .../datastreamer/DataStreamerCacheUpdaters.java |   2 +-
 .../datastreamer/DataStreamerImpl.java          |   8 +-
 .../datastructures/DataStructuresProcessor.java | 129 +--
 .../datastructures/GridCacheSetImpl.java        |   4 +-
 .../dr/IgniteDrDataStreamerCacheUpdater.java    |   7 +-
 .../processors/hadoop/HadoopJobInfo.java        |   4 +-
 .../hadoop/counter/HadoopCounterWriter.java     |   5 +-
 .../offheap/GridOffHeapProcessor.java           |  19 +-
 .../processors/plugin/CachePluginManager.java   |  10 +-
 .../plugin/IgnitePluginProcessor.java           |  16 +-
 .../portable/GridPortableInputStream.java       |  10 +
 .../processors/query/GridQueryIndexing.java     |  18 +-
 .../processors/query/GridQueryProcessor.java    | 129 ++-
 .../messages/GridQueryNextPageResponse.java     |  35 +-
 .../h2/twostep/messages/GridQueryRequest.java   | 111 ++-
 .../rest/client/message/GridRouterRequest.java  |  18 +
 .../rest/client/message/GridRouterResponse.java |  18 +
 .../rest/protocols/tcp/GridTcpRestProtocol.java |   3 +-
 .../service/GridServiceProcessor.java           |   2 +-
 .../processors/task/GridTaskProcessor.java      |  23 +-
 .../internal/util/GridConfigurationFinder.java  |  55 +-
 .../apache/ignite/internal/util/GridDebug.java  |  48 +-
 .../ignite/internal/util/GridJavaProcess.java   |   2 +-
 .../ignite/internal/util/IgniteUtils.java       |  34 +-
 .../shmem/IpcSharedMemoryClientEndpoint.java    |   2 +-
 .../ipc/shmem/IpcSharedMemoryNativeLoader.java  | 151 +++-
 .../shmem/IpcSharedMemoryServerEndpoint.java    |   2 +-
 .../util/ipc/shmem/IpcSharedMemoryUtils.java    |   4 +-
 .../ignite/internal/util/nio/GridNioServer.java |  64 +-
 .../util/nio/GridShmemCommunicationClient.java  | 146 ++++
 .../util/spring/IgniteSpringHelper.java         |  10 +
 .../internal/visor/VisorMultiNodeTask.java      |   2 +-
 .../ignite/marshaller/MarshallerContext.java    |   8 +
 .../org/apache/ignite/plugin/PluginContext.java |   6 +
 .../SpringApplicationContextResource.java       |   4 +-
 .../apache/ignite/resources/SpringResource.java |   6 +-
 .../org/apache/ignite/spi/IgniteSpiAdapter.java |  35 +-
 .../org/apache/ignite/spi/IgniteSpiContext.java |   9 +-
 .../communication/tcp/TcpCommunicationSpi.java  | 561 +++++++++++--
 .../tcp/TcpCommunicationSpiMBean.java           |  27 +
 .../ignite/spi/discovery/DiscoverySpi.java      |   3 +-
 .../ignite/spi/discovery/tcp/ClientImpl.java    | 562 ++++++++-----
 .../ignite/spi/discovery/tcp/ServerImpl.java    | 275 ++++---
 .../spi/discovery/tcp/TcpDiscoveryImpl.java     |  69 +-
 .../spi/discovery/tcp/TcpDiscoverySpi.java      |  48 +-
 .../tcp/internal/TcpDiscoveryNode.java          |  18 +
 .../ipfinder/TcpDiscoveryIpFinderAdapter.java   |  34 +-
 .../TcpDiscoveryMulticastIpFinder.java          |  19 +-
 .../messages/TcpDiscoveryAbstractMessage.java   |  10 +-
 .../messages/TcpDiscoveryNodeFailedMessage.java |  18 +
 .../java/org/jsr166/ConcurrentHashMap8.java     |   8 +-
 .../java/org/jsr166/ConcurrentLinkedDeque8.java | 586 +++++---------
 .../src/main/java/org/jsr166/LongAdder8.java    |  35 +-
 .../core/src/main/java/org/jsr166/README.txt    |  11 +
 .../src/main/java/org/jsr166/Striped64_8.java   |  22 +-
 .../java/org/jsr166/ThreadLocalRandom8.java     |  19 +-
 .../src/main/java/org/jsr166/package-info.java  |  12 +-
 .../core/src/main/resources/ignite.properties   |   2 +-
 modules/core/src/test/config/tests.properties   |   2 +-
 .../ignite/GridSuppressedExceptionSelfTest.java |   4 +-
 .../internal/ClusterForHostsSelfTest.java       | 113 +++
 .../internal/ClusterGroupAbstractTest.java      | 777 ++++++++++++++++++
 .../ignite/internal/ClusterGroupSelfTest.java   | 273 +++++++
 .../internal/GridDiscoveryEventSelfTest.java    |   6 +-
 ...ridFailFastNodeFailureDetectionSelfTest.java |  15 +-
 .../GridFailoverTaskWithPredicateSelfTest.java  |   3 -
 .../GridJobMasterLeaveAwareSelfTest.java        |   2 -
 .../internal/GridJobStealingSelfTest.java       |   3 -
 .../internal/GridProjectionAbstractTest.java    | 784 -------------------
 ...ectionLocalJobMultipleArgumentsSelfTest.java |   2 -
 .../ignite/internal/GridProjectionSelfTest.java | 273 -------
 .../apache/ignite/internal/GridSelfTest.java    |  30 +-
 .../GridTaskExecutionContextSelfTest.java       |   9 -
 .../GridTaskFailoverAffinityRunTest.java        | 170 ++++
 .../IgniteComputeEmptyClusterGroupTest.java     |   3 -
 .../IgniteComputeTopologyExceptionTest.java     |   9 -
 .../IgniteSlowClientDetectionSelfTest.java      | 187 +++++
 .../GridDiscoveryManagerAliveCacheSelfTest.java |  22 +-
 .../cache/CacheClientStoreSelfTest.java         | 228 ++++++
 ...acheReadOnlyTransactionalClientSelfTest.java | 327 --------
 .../CacheReadThroughAtomicRestartSelfTest.java  |  32 +
 ...heReadThroughLocalAtomicRestartSelfTest.java |  32 +
 .../CacheReadThroughLocalRestartSelfTest.java   |  32 +
 ...dThroughReplicatedAtomicRestartSelfTest.java |  32 +
 ...cheReadThroughReplicatedRestartSelfTest.java |  32 +
 .../cache/CacheReadThroughRestartSelfTest.java  | 133 ++++
 .../CacheStoreUsageMultinodeAbstractTest.java   | 305 ++++++++
 ...eUsageMultinodeDynamicStartAbstractTest.java | 169 ++++
 ...oreUsageMultinodeDynamicStartAtomicTest.java |  32 +
 ...heStoreUsageMultinodeDynamicStartTxTest.java |  32 +
 ...reUsageMultinodeStaticStartAbstractTest.java | 158 ++++
 ...toreUsageMultinodeStaticStartAtomicTest.java |  32 +
 ...cheStoreUsageMultinodeStaticStartTxTest.java |  32 +
 .../GridCacheAbstractFailoverSelfTest.java      |   8 +-
 .../cache/GridCacheAbstractFullApiSelfTest.java |  39 +-
 .../cache/GridCacheAbstractSelfTest.java        |   5 +-
 .../cache/GridCacheAffinityRoutingSelfTest.java |   4 +-
 .../cache/GridCacheDaemonNodeStopSelfTest.java  | 119 +++
 .../cache/GridCacheDeploymentSelfTest.java      |   3 -
 .../cache/GridCacheEntryMemorySizeSelfTest.java |  91 ++-
 .../cache/GridCacheMemoryModeSelfTest.java      |   2 -
 ...ridCacheMultinodeUpdateAbstractSelfTest.java |   9 +
 ...inodeUpdateNearEnabledNoBackupsSelfTest.java |   2 +-
 ...CacheMultinodeUpdateNearEnabledSelfTest.java |   2 +-
 .../processors/cache/GridCacheOffHeapTest.java  |  28 +-
 .../GridCacheReferenceCleanupSelfTest.java      |   3 -
 .../processors/cache/GridCacheStopSelfTest.java |   5 +
 .../cache/GridCacheVersionMultinodeTest.java    |   6 +-
 .../IgniteCacheAbstractStopBusySelfTest.java    |  30 +-
 .../cache/IgniteCacheAbstractTest.java          |   3 -
 .../IgniteCacheAtomicStopBusySelfTest.java      |   8 +-
 .../IgniteCacheEntryListenerAbstractTest.java   |  14 +-
 .../IgniteCacheInterceptorSelfTestSuite.java    |   2 +-
 .../cache/IgniteCacheInvokeReadThroughTest.java |   5 +
 ...CacheP2pUnmarshallingRebalanceErrorTest.java |  15 +-
 .../IgniteCacheP2pUnmarshallingTxErrorTest.java |  25 +-
 ...gniteCacheTransactionalStopBusySelfTest.java |  13 +-
 ...eDynamicCacheStartNoExchangeTimeoutTest.java | 466 +++++++++++
 .../cache/IgniteDynamicCacheStartSelfTest.java  |  56 ++
 ...teStartCacheInTransactionAtomicSelfTest.java |  32 +
 .../IgniteStartCacheInTransactionSelfTest.java  | 254 ++++++
 .../IgniteTxMultiThreadedAbstractTest.java      |   4 +-
 ...cheAtomicReferenceMultiNodeAbstractTest.java |  11 -
 ...GridCacheQueueMultiNodeAbstractSelfTest.java |   6 +-
 ...dCacheQueueMultiNodeConsistencySelfTest.java |   5 +
 ...CacheQueueRotativeMultiNodeAbstractTest.java |  10 -
 .../GridCacheSetAbstractSelfTest.java           |  31 +-
 .../IgniteDataStructureWithJobTest.java         | 111 +++
 ...omicOffheapQueueCreateMultiNodeSelfTest.java |   5 +
 ...ionedAtomicQueueCreateMultiNodeSelfTest.java |   5 +
 ...rtitionedDataStructuresFailoverSelfTest.java |   5 +
 ...edOffheapDataStructuresFailoverSelfTest.java |   5 +
 ...PartitionedQueueCreateMultiNodeSelfTest.java |   5 +
 ...dCachePartitionedQueueEntryMoveSelfTest.java |   5 +
 ...nedQueueFailoverDataConsistencySelfTest.java |   5 +
 ...eplicatedDataStructuresFailoverSelfTest.java |   5 +
 ...CacheLoadingConcurrentGridStartSelfTest.java |   5 +
 .../GridCacheAbstractJobExecutionTest.java      |   3 -
 ...ridCachePartitionNotLoadedEventSelfTest.java |  82 ++
 .../GridCachePreloadLifecycleAbstractTest.java  |   2 -
 .../distributed/IgniteCache150ClientsTest.java  | 189 +++++
 .../IgniteCacheClientNodeConcurrentStart.java   |  14 +-
 ...teCacheClientNodePartitionsExchangeTest.java |   1 +
 .../distributed/IgniteCacheManyClientsTest.java | 318 ++++++++
 .../IgniteCacheMessageRecoveryAbstractTest.java |   1 +
 .../IgniteCacheTxMessageRecoveryTest.java       |   5 +
 ...heAbstractTransformWriteThroughSelfTest.java |   3 -
 .../GridCacheColocatedTxExceptionSelfTest.java  |   5 +
 ...ePartitionedNearDisabledMetricsSelfTest.java |   4 +-
 ...dCachePartitionedTopologyChangeSelfTest.java |   5 +
 .../near/GridCacheNearEvictionSelfTest.java     |   3 -
 ...idCacheNearOnlyMultiNodeFullApiSelfTest.java |   5 -
 .../near/GridCacheNearTxExceptionSelfTest.java  |   5 +
 ...PartitionedFullApiMultithreadedSelfTest.java |   5 +
 ...idCachePartitionedHitsAndMissesSelfTest.java |   3 -
 ...achePartitionedMultiNodeFullApiSelfTest.java |  49 +-
 .../GridCachePartitionedNodeRestartTest.java    |   5 +
 ...ePartitionedOptimisticTxNodeRestartTest.java |   5 +
 ...achePartitionedPreloadLifecycleSelfTest.java |   2 +-
 ...CachePartitionedTxMultiThreadedSelfTest.java |   5 +
 .../GridCachePartitionedTxSalvageSelfTest.java  |  37 +-
 .../GridCacheReplicatedFailoverSelfTest.java    |   5 +
 ...eReplicatedFullApiMultithreadedSelfTest.java |   5 +
 .../GridCacheReplicatedInvalidateSelfTest.java  |   4 +-
 ...ridCacheReplicatedMultiNodeLockSelfTest.java |   5 +
 .../GridCacheReplicatedMultiNodeSelfTest.java   |   5 +
 .../GridCacheReplicatedNodeRestartSelfTest.java |   5 +
 .../GridCacheReplicatedTxExceptionSelfTest.java |   5 +
 .../replicated/GridReplicatedTxPreloadTest.java |   2 +
 ...acheAtomicReplicatedNodeRestartSelfTest.java |   5 +
 ...CacheReplicatedPreloadLifecycleSelfTest.java |   6 +-
 .../GridCacheEvictionFilterSelfTest.java        |   4 +-
 ...cheSynchronousEvictionsFailoverSelfTest.java |   5 +
 .../IgniteCacheExpiryPolicyAbstractTest.java    |  10 +-
 ...eCacheExpiryPolicyWithStoreAbstractTest.java |   4 +-
 .../IgniteCacheTxStoreSessionTest.java          |   4 +
 ...dCacheLocalFullApiMultithreadedSelfTest.java |   5 +
 .../GridCacheLocalTxExceptionSelfTest.java      |   5 +
 .../GridCacheSwapScanQueryAbstractSelfTest.java | 115 ++-
 ...ridCacheContinuousQueryAbstractSelfTest.java |   2 -
 ...CacheClientWriteBehindStoreAbstractTest.java | 104 +++
 ...teCacheClientWriteBehindStoreAtomicTest.java |  38 +
 .../IgnteCacheClientWriteBehindStoreTxTest.java |  32 +
 .../closure/GridClosureProcessorSelfTest.java   |  29 +-
 .../continuous/GridEventConsumeSelfTest.java    |   2 -
 .../DataStreamProcessorSelfTest.java            |  47 +-
 .../DataStreamerMultiThreadedSelfTest.java      |   3 +
 .../processors/igfs/IgfsModesSelfTest.java      |   4 +-
 .../internal/util/IgniteUtilsSelfTest.java      |  22 +
 .../ipc/shmem/IgfsSharedMemoryTestServer.java   |   2 +
 .../IpcSharedMemoryCrashDetectionSelfTest.java  |   2 +-
 .../ipc/shmem/IpcSharedMemorySpaceSelfTest.java |   2 +-
 .../ipc/shmem/IpcSharedMemoryUtilsSelfTest.java |   2 +-
 .../LoadWithCorruptedLibFileTestRunner.java     |   2 +-
 .../IpcSharedMemoryBenchmarkReader.java         |   2 +-
 .../IpcSharedMemoryBenchmarkWriter.java         |   2 +-
 .../internal/util/nio/GridNioSelfTest.java      |  13 +-
 .../internal/util/nio/GridNioSslSelfTest.java   |   2 +
 .../unsafe/GridUnsafeMemorySelfTest.java        |   4 +-
 .../tostring/GridToStringBuilderSelfTest.java   |   4 +-
 .../communication/GridIoManagerBenchmark0.java  |   1 +
 .../marshaller/MarshallerContextTestImpl.java   |  29 +-
 .../ignite/messaging/GridMessagingSelfTest.java |   3 -
 .../GridP2PContinuousDeploymentSelfTest.java    |   2 +
 .../p2p/GridP2PLocalDeploymentSelfTest.java     |   6 +-
 .../p2p/GridP2PRemoteClassLoadersSelfTest.java  |  31 +-
 .../spi/GridTcpSpiForwardingSelfTest.java       |   4 +-
 .../GridTcpCommunicationSpiAbstractTest.java    |  13 +
 ...mmunicationSpiConcurrentConnectSelfTest.java |   4 +-
 .../GridTcpCommunicationSpiConfigSelfTest.java  |   1 -
 ...cpCommunicationSpiMultithreadedSelfTest.java |  21 +-
 ...pCommunicationSpiMultithreadedShmemTest.java |  28 +
 ...dTcpCommunicationSpiRecoveryAckSelfTest.java |   1 +
 ...GridTcpCommunicationSpiRecoverySelfTest.java |   1 +
 .../GridTcpCommunicationSpiShmemSelfTest.java   |  38 +
 .../tcp/GridTcpCommunicationSpiTcpSelfTest.java |   7 +
 .../tcp/TcpClientDiscoverySpiSelfTest.java      | 183 ++++-
 .../spi/discovery/tcp/TcpDiscoverySelfTest.java |  44 +-
 .../testframework/GridSpiTestContext.java       |   7 +-
 .../ignite/testframework/GridTestUtils.java     |  14 +
 .../config/GridTestProperties.java              |  14 +-
 .../testframework/junits/GridAbstractTest.java  |   2 +-
 .../junits/GridTestKernalContext.java           |   3 +-
 .../junits/IgniteTestResources.java             |  16 +-
 .../junits/common/GridCommonAbstractTest.java   |  15 +-
 .../ignite/testsuites/IgniteBasicTestSuite.java |  32 +-
 .../IgniteCacheDataStructuresSelfTestSuite.java |  25 +-
 .../IgniteCacheEvictionSelfTestSuite.java       |   3 +-
 .../IgniteCacheFailoverTestSuite.java           |  24 +-
 .../IgniteCacheFailoverTestSuite2.java          |  47 ++
 .../IgniteCacheFullApiSelfTestSuite.java        |   8 +-
 ...niteCacheP2pUnmarshallingErrorTestSuite.java |  20 +-
 .../testsuites/IgniteCacheRestartTestSuite.java |  10 +-
 .../ignite/testsuites/IgniteCacheTestSuite.java |  48 +-
 .../testsuites/IgniteCacheTestSuite2.java       |   4 +-
 .../testsuites/IgniteCacheTestSuite3.java       |  15 +-
 .../testsuites/IgniteCacheTestSuite4.java       |  29 +-
 .../IgniteCacheWriteBehindTestSuite.java        |   2 +
 .../testsuites/IgniteClientTestSuite.java       |  38 +
 .../testsuites/IgniteComputeGridTestSuite.java  |   1 +
 .../testsuites/IgniteKernalSelfTestSuite.java   |  16 +-
 .../IgniteMarshallerSelfTestSuite.java          |  28 +-
 .../IgniteSpiCommunicationSelfTestSuite.java    |   2 +
 .../testsuites/IgniteUtilSelfTestSuite.java     |  18 +-
 .../apache/ignite/util/GridRandomSelfTest.java  |   4 +-
 .../ignite/util/TestTcpCommunicationSpi.java    |  21 +
 modules/extdata/p2p/pom.xml                     |   2 +-
 .../p2p/GridP2PContinuousDeploymentTask1.java   |   2 +-
 .../tests/p2p/P2PTestTaskExternalPath1.java     |  10 +-
 .../tests/p2p/P2PTestTaskExternalPath2.java     |   8 +-
 modules/extdata/uri/pom.xml                     |   2 +-
 modules/gce/pom.xml                             |   2 +-
 modules/geospatial/pom.xml                      |   2 +-
 modules/hadoop/pom.xml                          |  81 +-
 .../fs/IgniteHadoopFileSystemCounterWriter.java |   9 +-
 .../processors/hadoop/HadoopClassLoader.java    |  29 +
 .../processors/hadoop/HadoopDefaultJobInfo.java |  27 +-
 .../internal/processors/hadoop/HadoopUtils.java | 237 ------
 .../hadoop/SecondaryFileSystemProvider.java     |   3 +-
 .../hadoop/fs/HadoopFileSystemCacheUtils.java   | 241 ++++++
 .../hadoop/fs/HadoopFileSystemsUtils.java       |  11 +
 .../hadoop/fs/HadoopLazyConcurrentMap.java      |   5 +
 .../hadoop/jobtracker/HadoopJobTracker.java     |  25 +-
 .../child/HadoopChildProcessRunner.java         |   3 +-
 .../processors/hadoop/v2/HadoopV2Job.java       |  84 +-
 .../hadoop/v2/HadoopV2JobResourceManager.java   |  22 +-
 .../hadoop/v2/HadoopV2TaskContext.java          |  37 +-
 .../HadoopIgfs20FileSystemAbstractSelfTest.java |  17 +-
 ...oopSecondaryFileSystemConfigurationTest.java |  14 +
 .../apache/ignite/igfs/IgfsEventsTestSuite.java |   5 +-
 .../IgniteHadoopFileSystemAbstractSelfTest.java |   2 +-
 ...IgniteHadoopFileSystemHandshakeSelfTest.java |   7 +
 .../IgniteHadoopFileSystemIpcCacheSelfTest.java |   7 +
 .../hadoop/HadoopAbstractSelfTest.java          |   7 +
 .../processors/hadoop/HadoopMapReduceTest.java  |  23 +-
 .../processors/hadoop/HadoopTasksV1Test.java    |   7 +-
 .../processors/hadoop/HadoopTasksV2Test.java    |   7 +-
 .../processors/hadoop/HadoopV2JobSelfTest.java  |   6 +-
 .../collections/HadoopAbstractMapTest.java      |   3 +-
 .../collections/HadoopHashMapSelfTest.java      |   4 +-
 .../HadoopExternalTaskExecutionSelfTest.java    |   2 +
 .../HadoopExternalCommunicationSelfTest.java    |   5 +
 .../testsuites/IgniteHadoopTestSuite.java       |   9 +-
 .../IgniteIgfsLinuxAndMacOSTestSuite.java       |   3 +-
 modules/hibernate/pom.xml                       |  16 +-
 .../hibernate/CacheHibernateBlobStore.java      |  87 +-
 .../CacheHibernateBlobStoreFactory.java         | 235 ++++++
 .../hibernate/src/test/config/factory-cache.xml |  59 ++
 .../src/test/config/factory-cache1.xml          |  61 ++
 .../config/factory-incorrect-store-cache.xml    |  56 ++
 .../hibernate/HibernateL2CacheSelfTest.java     |   5 +
 .../HibernateL2CacheTransactionalSelfTest.java  |   5 +
 .../CacheHibernateStoreFactorySelfTest.java     | 273 +++++++
 .../testsuites/IgniteHibernateTestSuite.java    |   6 +-
 modules/indexing/pom.xml                        |  18 +-
 .../processors/query/h2/IgniteH2Indexing.java   | 125 ++-
 .../query/h2/sql/GridSqlQuerySplitter.java      |  49 +-
 .../query/h2/twostep/GridMapQueryExecutor.java  | 321 ++++++--
 .../query/h2/twostep/GridMergeIndex.java        |  17 +-
 .../h2/twostep/GridMergeIndexUnsorted.java      |   7 +-
 .../h2/twostep/GridReduceQueryExecutor.java     | 656 +++++++++++++---
 .../query/h2/twostep/GridResultPage.java        |  21 +-
 .../CacheAbstractQueryMetricsSelfTest.java      | 205 +++++
 .../CachePartitionedQueryMetricsSelfTest.java   |  32 +
 .../CacheReplicatedQueryMetricsSelfTest.java    |  32 +
 ...CacheScanPartitionQueryFallbackSelfTest.java | 408 ++++++++++
 .../cache/GridCacheCrossCacheQuerySelfTest.java |  25 +-
 .../cache/GridCacheOffHeapSelfTest.java         |   1 -
 .../cache/GridCacheQueryMetricsSelfTest.java    | 206 -----
 ...idCacheReduceQueryMultithreadedSelfTest.java |  10 -
 .../processors/cache/GridCacheSwapSelfTest.java |   3 -
 .../IgniteCacheAbstractFieldsQuerySelfTest.java |  13 +-
 .../cache/IgniteCacheAbstractQuerySelfTest.java |  79 +-
 .../cache/IgniteCacheOffheapEvictQueryTest.java | 196 +++++
 ...hePartitionedQueryMultiThreadedSelfTest.java |  40 +-
 .../IgniteCacheQueryMultiThreadedSelfTest.java  |   2 -
 ...QueryOffheapEvictsMultiThreadedSelfTest.java |   5 +
 ...lientQueryReplicatedNodeRestartSelfTest.java | 419 ++++++++++
 .../IgniteCacheQueryNodeRestartSelfTest.java    |  41 +-
 .../IgniteCacheQueryNodeRestartSelfTest2.java   | 383 +++++++++
 ...dCacheAbstractReduceFieldsQuerySelfTest.java |   1 -
 .../h2/GridIndexingSpiAbstractSelfTest.java     |   4 +-
 .../query/h2/sql/BaseH2CompareQueryTest.java    |   6 +-
 .../query/h2/sql/GridQueryParsingTest.java      |   5 +-
 .../IgniteCacheQuerySelfTestSuite.java          |  13 +-
 modules/jcl/pom.xml                             |   2 +-
 modules/jta/pom.xml                             |   2 +-
 .../cache/jta/GridCacheXAResource.java          |  18 +-
 .../processors/cache/GridCacheJtaSelfTest.java  |   2 +-
 modules/log4j/pom.xml                           |   2 +-
 modules/mesos/README.txt                        |   2 +-
 modules/mesos/pom.xml                           |   2 +-
 .../apache/ignite/mesos/ClusterProperties.java  |  15 +
 .../apache/ignite/mesos/IgniteScheduler.java    |  10 +-
 modules/rest-http/pom.xml                       |   2 +-
 modules/scalar-2.10/README.txt                  |   4 +
 modules/scalar-2.10/licenses/apache-2.0.txt     | 202 +++++
 .../scalar-2.10/licenses/scala-bsd-license.txt  |  18 +
 modules/scalar-2.10/pom.xml                     | 197 +++++
 modules/scalar/pom.xml                          |   2 +-
 modules/schedule/pom.xml                        |   2 +-
 modules/schema-import/pom.xml                   |   2 +-
 modules/slf4j/pom.xml                           |   2 +-
 modules/spark-2.10/README.txt                   |   4 +
 modules/spark-2.10/licenses/apache-2.0.txt      | 202 +++++
 .../spark-2.10/licenses/scala-bsd-license.txt   |  18 +
 modules/spark-2.10/pom.xml                      | 120 +++
 modules/spark/README.txt                        |   8 +
 modules/spark/licenses/apache-2.0.txt           | 202 +++++
 modules/spark/licenses/scala-bsd-license.txt    |  18 +
 modules/spark/pom.xml                           | 110 +++
 .../org/apache/ignite/spark/IgniteContext.scala | 119 +++
 .../org/apache/ignite/spark/IgniteRDD.scala     | 244 ++++++
 .../apache/ignite/spark/JavaIgniteContext.scala |  63 ++
 .../org/apache/ignite/spark/JavaIgniteRDD.scala |  99 +++
 .../ignite/spark/impl/IgniteAbstractRDD.scala   |  39 +
 .../ignite/spark/impl/IgnitePartition.scala     |  24 +
 .../ignite/spark/impl/IgniteQueryIterator.scala |  27 +
 .../apache/ignite/spark/impl/IgniteSqlRDD.scala |  41 +
 .../spark/impl/JavaIgniteAbstractRDD.scala      |  34 +
 .../ignite/spark/JavaIgniteRDDSelfTest.java     | 298 +++++++
 .../scala/org/apache/ignite/spark/Entity.scala  |  28 +
 .../org/apache/ignite/spark/IgniteRddSpec.scala | 231 ++++++
 modules/spring/pom.xml                          |   9 +-
 .../GridResourceSpringBeanInjector.java         |   2 +-
 .../util/spring/IgniteSpringHelperImpl.java     |  17 +
 .../src/test/config/incorrect-store-cache.xml   |  57 ++
 modules/spring/src/test/config/node.xml         |  43 +
 modules/spring/src/test/config/node1.xml        |  45 ++
 .../test/config/pojo-incorrect-store-cache.xml  |  56 ++
 modules/spring/src/test/config/store-cache.xml  |  59 ++
 modules/spring/src/test/config/store-cache1.xml |  62 ++
 .../jdbc/CacheJdbcBlobStoreFactorySelfTest.java | 172 ++++
 .../jdbc/CacheJdbcPojoStoreFactorySelfTest.java | 193 +++++
 .../testsuites/IgniteSpringTestSuite.java       |   5 +
 modules/ssh/pom.xml                             |   2 +-
 modules/tools/pom.xml                           |   2 +-
 .../ignite/tools/classgen/ClassesGenerator.java |  30 +-
 modules/urideploy/pom.xml                       |   2 +-
 modules/visor-console-2.10/README.txt           |   4 +
 modules/visor-console-2.10/pom.xml              | 174 ++++
 modules/visor-console/pom.xml                   |   2 +-
 .../commands/cache/VisorCacheCommand.scala      |   7 +-
 modules/visor-plugins/pom.xml                   |   2 +-
 modules/web/pom.xml                             |   2 +-
 .../IgniteWebSessionSelfTestSuite.java          |   2 +-
 modules/yardstick/pom.xml                       |   2 +-
 parent/pom.xml                                  |   5 +
 pom.xml                                         |  22 +-
 scripts/git-patch-prop.sh                       |   2 +-
 495 files changed, 18532 insertions(+), 4895 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a8232be6/modules/core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a8232be6/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a8232be6/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a8232be6/modules/core/src/test/java/org/apache/ignite/internal/ClusterGroupSelfTest.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/internal/ClusterGroupSelfTest.java
index 0000000,ceb9bef..37a6e72
mode 000000,100644..100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/ClusterGroupSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/ClusterGroupSelfTest.java
@@@ -1,0 -1,251 +1,273 @@@
+ /*
+  * Licensed to the Apache Software Foundation (ASF) under one or more
+  * contributor license agreements.  See the NOTICE file distributed with
+  * this work for additional information regarding copyright ownership.
+  * The ASF licenses this file to You under the Apache License, Version 2.0
+  * (the "License"); you may not use this file except in compliance with
+  * the License.  You may obtain a copy of the License at
+  *
+  *      http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software
+  * distributed under the License is distributed on an "AS IS" BASIS,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  * See the License for the specific language governing permissions and
+  * limitations under the License.
+  */
+ 
+ package org.apache.ignite.internal;
+ 
+ import org.apache.ignite.*;
+ import org.apache.ignite.cluster.*;
+ import org.apache.ignite.internal.util.typedef.*;
+ import org.apache.ignite.lang.*;
+ import org.apache.ignite.marshaller.*;
+ import org.apache.ignite.testframework.junits.common.*;
+ 
+ import java.util.*;
+ 
+ /**
+  * Test for {@link ClusterGroup}.
+  */
+ @GridCommonTest(group = "Kernal Self")
+ public class ClusterGroupSelfTest extends ClusterGroupAbstractTest {
+     /** Nodes count. */
+     private static final int NODES_CNT = 4;
+ 
+     /** Projection node IDs. */
+     private static Collection<UUID> ids;
+ 
+     /** */
+     private static Ignite ignite;
+ 
+     /** {@inheritDoc} */
+     @SuppressWarnings({"ConstantConditions"})
+     @Override protected void beforeTestsStarted() throws Exception {
+         assert NODES_CNT > 2;
+ 
+         ids = new LinkedList<>();
+ 
+         try {
+             for (int i = 0; i < NODES_CNT; i++) {
+                 Ignition.setClientMode(i > 1);
+ 
+                 Ignite g = startGrid(i);
+ 
+                 ids.add(g.cluster().localNode().id());
+ 
+                 if (i == 0)
+                     ignite = g;
+             }
+         }
+         finally {
+             Ignition.setClientMode(false);
+         }
+     }
+ 
+     /** {@inheritDoc} */
+     @Override protected void afterTestsStopped() throws Exception {
+         for (int i = 0; i < NODES_CNT; i++)
+             stopGrid(i);
+     }
+ 
+     /** {@inheritDoc} */
+     @Override protected ClusterGroup projection() {
+         return grid(0).cluster().forPredicate(F.nodeForNodeIds(ids));
+     }
+ 
+     /** {@inheritDoc} */
+     @Override protected UUID localNodeId() {
+         return grid(0).localNode().id();
+     }
+ 
+     /**
+      * @throws Exception If failed.
+      */
+     public void testRandom() throws Exception {
+         assertTrue(ignite.cluster().nodes().contains(ignite.cluster().forRandom().node()));
+     }
+ 
+     /**
+      * @throws Exception If failed.
+      */
+     public void testOldest() throws Exception {
+         ClusterGroup oldest = ignite.cluster().forOldest();
+ 
+         ClusterNode node = null;
+ 
+         long minOrder = Long.MAX_VALUE;
+ 
+         for (ClusterNode n : ignite.cluster().nodes()) {
+             if (n.order() < minOrder) {
+                 node = n;
+ 
+                 minOrder = n.order();
+             }
+         }
+ 
+         assertEquals(oldest.node(), ignite.cluster().forNode(node).node());
+     }
+ 
+     /**
+      * @throws Exception If failed.
+      */
+     public void testYoungest() throws Exception {
+         ClusterGroup youngest = ignite.cluster().forYoungest();
+ 
+         ClusterNode node = null;
+ 
+         long maxOrder = Long.MIN_VALUE;
+ 
+         for (ClusterNode n : ignite.cluster().nodes()) {
+             if (n.order() > maxOrder) {
+                 node = n;
+ 
+                 maxOrder = n.order();
+             }
+         }
+ 
+         assertEquals(youngest.node(), ignite.cluster().forNode(node).node());
+     }
+ 
+     /**
+      * @throws Exception If failed.
+      */
+     public void testNewNodes() throws Exception {
+         ClusterGroup youngest = ignite.cluster().forYoungest();
+         ClusterGroup oldest = ignite.cluster().forOldest();
+ 
+         ClusterNode old = oldest.node();
+         ClusterNode last = youngest.node();
+ 
+         assertNotNull(last);
+ 
+         try (Ignite g = startGrid(NODES_CNT)) {
+             ClusterNode n = g.cluster().localNode();
+ 
+             ClusterNode latest = youngest.node();
+ 
+             assertNotNull(latest);
+             assertEquals(latest.id(), n.id());
+             assertEquals(oldest.node(), old);
+         }
+     }
+ 
+     /**
+      * @throws Exception If failed.
+      */
+     public void testForPredicate() throws Exception {
+         IgnitePredicate<ClusterNode> evenP = new IgnitePredicate<ClusterNode>() {
+             @Override public boolean apply(ClusterNode node) {
+                 return node.order() % 2 == 0;
+             }
+         };
+ 
+         IgnitePredicate<ClusterNode> oddP = new IgnitePredicate<ClusterNode>() {
+             @Override public boolean apply(ClusterNode node) {
+                 return node.order() % 2 == 1;
+             }
+         };
+ 
+         ClusterGroup remotes = ignite.cluster().forRemotes();
+ 
+         ClusterGroup evenYoungest = remotes.forPredicate(evenP).forYoungest();
+         ClusterGroup evenOldest = remotes.forPredicate(evenP).forOldest();
+ 
+         ClusterGroup oddYoungest = remotes.forPredicate(oddP).forYoungest();
+         ClusterGroup oddOldest = remotes.forPredicate(oddP).forOldest();
+ 
+         int clusterSize = ignite.cluster().nodes().size();
+ 
+         assertEquals(grid(gridMaxOrder(clusterSize, true)).localNode().id(), evenYoungest.node().id());
+         assertEquals(grid(1).localNode().id(), evenOldest.node().id());
+ 
+         assertEquals(grid(gridMaxOrder(clusterSize, false)).localNode().id(), oddYoungest.node().id());
+         assertEquals(grid(2).localNode().id(), oddOldest.node().id());
+ 
+         try (Ignite g4 = startGrid(NODES_CNT);
+             Ignite g5 = startGrid(NODES_CNT + 1))
+         {
+             clusterSize = g4.cluster().nodes().size();
+ 
+             assertEquals(grid(gridMaxOrder(clusterSize, true)).localNode().id(), evenYoungest.node().id());
+             assertEquals(grid(1).localNode().id(), evenOldest.node().id());
+ 
+             assertEquals(grid(gridMaxOrder(clusterSize, false)).localNode().id(), oddYoungest.node().id());
+             assertEquals(grid(2).localNode().id(), oddOldest.node().id());
+         }
+     }
+ 
+     /**
+      * @throws Exception If failed.
+      */
+     public void testAgeClusterGroupSerialization() throws Exception {
+         Marshaller marshaller = getConfiguration().getMarshaller();
+ 
+         ClusterGroup grp = ignite.cluster().forYoungest();
+         ClusterNode node = grp.node();
+ 
+         byte[] arr = marshaller.marshal(grp);
+ 
+         ClusterGroup obj = marshaller.unmarshal(arr, null);
+ 
+         assertEquals(node.id(), obj.node().id());
+ 
+         try (Ignite ignore = startGrid()) {
+             obj = marshaller.unmarshal(arr, null);
+ 
+             assertEquals(grp.node().id(), obj.node().id());
+             assertFalse(node.id().equals(obj.node().id()));
+         }
+     }
+ 
+     /**
+      * @throws Exception If failed.
+      */
+     public void testClientServer() throws Exception {
+         ClusterGroup srv = ignite.cluster().forServers();
+ 
+         assertEquals(2, srv.nodes().size());
+         assertTrue(srv.nodes().contains(ignite(0).cluster().localNode()));
+         assertTrue(srv.nodes().contains(ignite(1).cluster().localNode()));
+ 
+         ClusterGroup cli = ignite.cluster().forClients();
+ 
+         assertEquals(2, srv.nodes().size());
+         assertTrue(cli.nodes().contains(ignite(2).cluster().localNode()));
+         assertTrue(cli.nodes().contains(ignite(3).cluster().localNode()));
+     }
+ 
+     /**
+      * @param cnt Count.
+      * @param even Even.
+      */
+     private static int gridMaxOrder(int cnt, boolean even) {
+         assert cnt > 2;
+ 
+         cnt = cnt - (cnt % 2);
+ 
+         return even ? cnt - 1 : cnt - 2;
+     }
++
++    /**
++     * @throws Exception If failed.
++     */
++    public void testHostNames() throws Exception {
++        Collection<String> inputHostNames = ignite.cluster().hostNames();
++        Collection<String> localNodeHostNames = ignite.cluster().localNode().hostNames();
++        Collection<String> randomNodeHostNames = ignite.cluster().forRandom().node().hostNames();
++        Collection<ClusterNode> allNodes = ignite.cluster().nodes();
++        Collection<String> checkHostNames = new HashSet<String> ();
++
++        for (ClusterNode currentNode : allNodes)
++            Collections.addAll(checkHostNames, currentNode.hostNames().toArray(new String[0]));
++
++        assert(checkHostNames.equals(inputHostNames));
++
++        if (!(localNodeHostNames.isEmpty()) && !(inputHostNames.isEmpty()))
++            assert((inputHostNames.containsAll(localNodeHostNames)) == true);
++
++        if (!(randomNodeHostNames.isEmpty()) && !(inputHostNames.isEmpty()))
++            assert((inputHostNames.containsAll(randomNodeHostNames)) == true);
++    }
+ }



[05/32] incubator-ignite git commit: Merge branches 'ignite-gg-10457' and 'ignite-sprint-7' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-gg-10457

Posted by sb...@apache.org.
Merge branches 'ignite-gg-10457' and 'ignite-sprint-7' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-gg-10457


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

Branch: refs/heads/ignite-gg-10298
Commit: 60c4d651fb02b24d8f18b9ee85cae3735501bbb2
Parents: 12821b7 359b431
Author: AKuznetsov <ak...@gridgain.com>
Authored: Wed Jun 24 09:42:57 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Wed Jun 24 09:42:57 2015 +0700

----------------------------------------------------------------------
 .../configuration/IgniteReflectionFactory.java  |  81 ++++++-
 .../distributed/dht/GridDhtLocalPartition.java  |   3 +-
 .../dht/atomic/GridDhtAtomicCache.java          |   9 +-
 .../processors/hadoop/HadoopJobInfo.java        |   4 +-
 .../hadoop/counter/HadoopCounterWriter.java     |   5 +-
 .../GridCacheReplicatedFailoverSelfTest.java    |   5 +
 .../testframework/junits/GridAbstractTest.java  |   2 +-
 modules/hadoop/pom.xml                          |  78 ------
 .../fs/IgniteHadoopFileSystemCounterWriter.java |   9 +-
 .../processors/hadoop/HadoopClassLoader.java    |  29 +++
 .../processors/hadoop/HadoopDefaultJobInfo.java |  27 +--
 .../internal/processors/hadoop/HadoopUtils.java | 237 ------------------
 .../hadoop/SecondaryFileSystemProvider.java     |   3 +-
 .../hadoop/fs/HadoopFileSystemCacheUtils.java   | 241 +++++++++++++++++++
 .../hadoop/fs/HadoopFileSystemsUtils.java       |  11 +
 .../hadoop/fs/HadoopLazyConcurrentMap.java      |   5 +
 .../hadoop/jobtracker/HadoopJobTracker.java     |  25 +-
 .../child/HadoopChildProcessRunner.java         |   3 +-
 .../processors/hadoop/v2/HadoopV2Job.java       |  84 ++++++-
 .../hadoop/v2/HadoopV2JobResourceManager.java   |  22 +-
 .../hadoop/v2/HadoopV2TaskContext.java          |  37 ++-
 .../apache/ignite/igfs/IgfsEventsTestSuite.java |   5 +-
 .../processors/hadoop/HadoopMapReduceTest.java  |   2 +-
 .../processors/hadoop/HadoopTasksV1Test.java    |   7 +-
 .../processors/hadoop/HadoopTasksV2Test.java    |   7 +-
 .../processors/hadoop/HadoopV2JobSelfTest.java  |   6 +-
 .../collections/HadoopAbstractMapTest.java      |   3 +-
 .../testsuites/IgniteHadoopTestSuite.java       |   2 +-
 .../IgniteIgfsLinuxAndMacOSTestSuite.java       |   3 +-
 29 files changed, 566 insertions(+), 389 deletions(-)
----------------------------------------------------------------------



[23/32] incubator-ignite git commit: encoding fix

Posted by sb...@apache.org.
encoding fix


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

Branch: refs/heads/ignite-gg-10298
Commit: f45f96d0cb6e4a71c75d5020b59e9d128e02acea
Parents: 1a21477
Author: avinogradov <av...@gridgain.com>
Authored: Mon Jun 29 14:18:23 2015 +0300
Committer: avinogradov <av...@gridgain.com>
Committed: Mon Jun 29 14:18:23 2015 +0300

----------------------------------------------------------------------
 pom.xml | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f45f96d0/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 44cb0ce..b935b2e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -604,12 +604,12 @@
                                         </copy>
 
                                         <!-- appending filename to md5 and sha1 files. to be improved. -->
-                                        <concat destfile="${basedir}/target/site/${project.artifactId}-fabric-${project.version}-bin.zip.md5" append="true"> ${project.artifactId}-fabric-${project.version}-bin.zip</concat>
-                                        <concat destfile="${basedir}/target/site/${project.artifactId}-fabric-${project.version}-bin.zip.sha1" append="true"> ${project.artifactId}-fabric-${project.version}-bin.zip</concat>
-                                        <concat destfile="${basedir}/target/site/${project.artifactId}-hadoop-${project.version}-bin.zip.md5" append="true"> ${project.artifactId}-hadoop-${project.version}-bin.zip</concat>
-                                        <concat destfile="${basedir}/target/site/${project.artifactId}-hadoop-${project.version}-bin.zip.sha1" append="true"> ${project.artifactId}-hadoop-${project.version}-bin.zip</concat>
-                                        <concat destfile="${basedir}/target/site/${project.artifactId}-${project.version}-src.zip.md5" append="true"> ${project.artifactId}-${project.version}-src.zip</concat>
-                                        <concat destfile="${basedir}/target/site/${project.artifactId}-${project.version}-src.zip.sha1" append="true"> ${project.artifactId}-${project.version}-src.zip</concat>
+                                        <concat destfile="${basedir}/target/site/${project.artifactId}-fabric-${project.version}-bin.zip.md5" append="true"> ${project.artifactId}-fabric-${project.version}-bin.zip</concat>
+                                        <concat destfile="${basedir}/target/site/${project.artifactId}-fabric-${project.version}-bin.zip.sha1" append="true"> ${project.artifactId}-fabric-${project.version}-bin.zip</concat>
+                                        <concat destfile="${basedir}/target/site/${project.artifactId}-hadoop-${project.version}-bin.zip.md5" append="true"> ${project.artifactId}-hadoop-${project.version}-bin.zip</concat>
+                                        <concat destfile="${basedir}/target/site/${project.artifactId}-hadoop-${project.version}-bin.zip.sha1" append="true"> ${project.artifactId}-hadoop-${project.version}-bin.zip</concat>
+                                        <concat destfile="${basedir}/target/site/${project.artifactId}-${project.version}-src.zip.md5" append="true"> ${project.artifactId}-${project.version}-src.zip</concat>
+                                        <concat destfile="${basedir}/target/site/${project.artifactId}-${project.version}-src.zip.sha1" append="true"> ${project.artifactId}-${project.version}-src.zip</concat>
 
                                         <copy file="${basedir}/KEYS" todir="${basedir}/target/site" failonerror="false" />
                                     </target>


[29/32] incubator-ignite git commit: Merge branch 'ignite-sprint-7' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-1058

Posted by sb...@apache.org.
Merge branch 'ignite-sprint-7' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-1058


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

Branch: refs/heads/ignite-gg-10298
Commit: 6d265108265ad2801c77e055eb8b4c900bb8325d
Parents: f710cd4 1d5cfbc
Author: iveselovskiy <iv...@gridgain.com>
Authored: Mon Jun 29 18:41:10 2015 +0300
Committer: iveselovskiy <iv...@gridgain.com>
Committed: Mon Jun 29 18:41:10 2015 +0300

----------------------------------------------------------------------
 .../ignite/internal/GridKernalContextImpl.java  |   2 +-
 .../discovery/GridDiscoveryManager.java         |   6 +
 .../processors/cache/GridCacheProcessor.java    |  62 ++++--
 .../cache/GridCacheDaemonNodeStopSelfTest.java  | 119 ------------
 .../IgniteDaemonNodeMarshallerCacheTest.java    | 192 +++++++++++++++++++
 .../ignite/testsuites/IgniteBasicTestSuite.java |   1 +
 .../testsuites/IgniteCacheTestSuite3.java       |   1 -
 pom.xml                                         |  12 +-
 8 files changed, 257 insertions(+), 138 deletions(-)
----------------------------------------------------------------------



[28/32] incubator-ignite git commit: [IGNITE-1058]: ignite compilable w/o errors.

Posted by sb...@apache.org.
[IGNITE-1058]: ignite compilable w/o errors.


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

Branch: refs/heads/ignite-gg-10298
Commit: f710cd4de6ae504ff49c963db154c4a24af8dfb7
Parents: 1a21477
Author: iveselovskiy <iv...@gridgain.com>
Authored: Mon Jun 29 18:27:12 2015 +0300
Committer: iveselovskiy <iv...@gridgain.com>
Committed: Mon Jun 29 18:27:12 2015 +0300

----------------------------------------------------------------------
 .../managers/communication/GridIoManager.java   | 134 +++++++++++++++----
 .../managers/communication/GridIoMessage.java   |  15 +--
 .../managers/communication/GridIoPolicy.java    |  32 ++---
 .../eventstorage/GridEventStorageManager.java   |   2 +-
 .../internal/processors/cache/CacheType.java    |   8 +-
 .../processors/cache/GridCacheContext.java      |   4 +-
 .../processors/cache/GridCacheIoManager.java    |  12 +-
 .../GridDistributedTxFinishRequest.java         |  11 +-
 .../GridDistributedTxPrepareRequest.java        |   9 +-
 .../GridDistributedTxRemoteAdapter.java         |   2 +-
 .../distributed/dht/GridDhtTxFinishRequest.java |   2 +-
 .../cache/distributed/dht/GridDhtTxLocal.java   |   2 +-
 .../distributed/dht/GridDhtTxLocalAdapter.java  |   2 +-
 .../cache/distributed/dht/GridDhtTxRemote.java  |   4 +-
 .../near/GridNearTxFinishRequest.java           |   2 +-
 .../cache/distributed/near/GridNearTxLocal.java |   2 +-
 .../distributed/near/GridNearTxRemote.java      |   4 +-
 .../cache/transactions/IgniteInternalTx.java    |   2 +-
 .../cache/transactions/IgniteTxAdapter.java     |  10 +-
 .../transactions/IgniteTxLocalAdapter.java      |   2 +-
 .../internal/processors/igfs/IgfsContext.java   |   5 +-
 .../plugin/IgnitePluginProcessor.java           |   2 +-
 .../communication/IoPoolExtension.java          |  47 +++++++
 .../communication/GridIoManagerSelfTest.java    |   2 +-
 .../cache/IgniteInternalCacheTypesTest.java     |   3 +-
 25 files changed, 220 insertions(+), 100 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
index 4382731..0d6e2f2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
@@ -68,6 +68,9 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
     /** Disconnect listeners. */
     private final Collection<GridDisconnectListener> disconnectLsnrs = new ConcurrentLinkedQueue<>();
 
+    /** Map of {@link IoPoolExtension}-s injected by Ignite plugins. */
+    private final ConcurrentMap<Byte, IoPoolExtension> ioPoolExtensionMap = new ConcurrentHashMap8<>(128);
+
     /** Public pool. */
     private ExecutorService pubPool;
 
@@ -194,6 +197,8 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
             0,
             new LinkedBlockingQueue<Runnable>());
 
+        //
+
         getSpi().setListener(commLsnr = new CommunicationListener<Serializable>() {
             @Override public void onMessage(UUID nodeId, Serializable msg, IgniteRunnable msgC) {
                 try {
@@ -254,6 +259,52 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
 
         if (log.isDebugEnabled())
             log.debug(startInfo());
+
+        registerIoPoolExtensions();
+    }
+
+    /**
+     * Processes IO messaging pool extensions.
+     * @throws IgniteCheckedException On error.
+     */
+    private void registerIoPoolExtensions() throws IgniteCheckedException {
+        // Process custom IO messaging pool extensions:
+        final IoPoolExtension[] executorExtensions
+            = ctx.plugins().extensions(IoPoolExtension.class);
+
+        if (executorExtensions != null) {
+            // Store it into the map and check for duplicates:
+            for (IoPoolExtension ex : executorExtensions) {
+                final byte id = ex.id();
+
+                // 1. Check the pool id is non-negative:
+                if (id < 0)
+                    throw new IgniteCheckedException("Failed to register IO executor pool because its Id is negative." +
+                        "[id=" + id + ", pluginId=" + ex.pligunId() + ']');
+
+                // 2. Check the pool id is in allowed range:
+                if (isReservedGridIoPolicy(id))
+                    throw new IgniteCheckedException("Failed to register IO executor pool because its Id in in the reserved" +
+                        " range. [id=" + id + ", pluginId="
+                            + ex.pligunId() + ']');
+
+                // 3. Check the pool for duplicates:
+                IoPoolExtension pushedOut = ioPoolExtensionMap.putIfAbsent(id, ex);
+                if (pushedOut != null)
+                    throw new IgniteCheckedException("Failed to register IO executor pool because its " +
+                        "Id as already used. [id=" + ex.id() + ", pluginId="
+                        + ex.pligunId() + ", existingPoolPluginId=" + pushedOut.pligunId() + ']');
+
+                // 4. Check the pool has the executor:
+                Executor e = ex.executor();
+
+                if (e == null) {
+                    throw new IgniteCheckedException("Failed to register IO executor pool because its " +
+                        " executor is null. [id=" + id + ", pluginId="
+                        + ex.pligunId() + ']');
+                }
+            }
+        }
     }
 
     /** {@inheritDoc} */
@@ -450,6 +501,8 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
 
         if (log.isDebugEnabled())
             log.debug(stopInfo());
+
+        ioPoolExtensionMap.clear();
     }
 
     /**
@@ -517,7 +570,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
             // If message is P2P, then process in P2P service.
             // This is done to avoid extra waiting and potential deadlocks
             // as thread pool may not have any available threads to give.
-            GridIoPolicy plc = msg.policy();
+            byte plc = msg.policy();
 
             switch (plc) {
                 case P2P_POOL: {
@@ -539,6 +592,16 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
 
                     break;
                 }
+
+                default:
+                    if (isReservedGridIoPolicy(plc))
+                        throw new IgniteException("Failed to process message with policy of reserved range, [policy="
+                            + plc + ']');
+                    else
+                        if (msg.isOrdered())
+                            processOrderedMessage(nodeId, msg, plc, msgC);
+                        else
+                            processRegularMessage(nodeId, msg, plc, msgC);
             }
         }
         catch (IgniteCheckedException e) {
@@ -555,7 +618,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
      * @param plc Policy.
      * @return Execution pool.
      */
-    private Executor pool(GridIoPolicy plc) {
+    private Executor pool(byte plc) {
         switch (plc) {
             case P2P_POOL:
                 return p2pPool;
@@ -579,14 +642,40 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
                 return marshCachePool;
 
             default: {
-                assert false : "Invalid communication policy: " + plc;
+                if (isReservedGridIoPolicy(plc))
+                    throw new IgniteException("Failed to process message with policy of reserved range, [policy="
+                        + plc + ']');
 
-                // Never reached.
-                return null;
+                IoPoolExtension pool = ioPoolExtensionMap.get(plc);
+
+                if (pool == null)
+                    throw new IgniteException("Failed to process message because corresponding executor pool is not "
+                        + " found. [id=" + plc + ']');
+
+                assert plc == pool.id();
+
+                return pool.executor();
             }
         }
     }
 
+//    /**
+//     * The kind of the Pool.
+//     */
+//    public static interface CustomPool {
+//        /**
+//         * Gets the Id (kind) of this Pool.
+//         * @return The id.
+//         */
+//        public byte kind();
+//
+//        /**
+//         * Gets the Executor for this Pool.
+//         * @return The executor.
+//         */
+//        public Executor executor();
+//    }
+
     /**
      * @param nodeId Node ID.
      * @param msg Message.
@@ -642,7 +731,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
     private void processRegularMessage(
         final UUID nodeId,
         final GridIoMessage msg,
-        GridIoPolicy plc,
+        byte plc,
         final IgniteRunnable msgC
     ) {
         Runnable c = new Runnable() {
@@ -700,7 +789,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
     private void processOrderedMessage(
         final UUID nodeId,
         final GridIoMessage msg,
-        final GridIoPolicy plc,
+        final byte plc,
         @Nullable final IgniteRunnable msgC
     ) {
         assert msg != null;
@@ -916,7 +1005,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
         Object topic,
         int topicOrd,
         Message msg,
-        GridIoPolicy plc,
+        byte plc,
         boolean ordered,
         long timeout,
         boolean skipOnTimeout
@@ -924,7 +1013,6 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
         assert node != null;
         assert topic != null;
         assert msg != null;
-        assert plc != null;
 
         GridIoMessage ioMsg = new GridIoMessage(plc, topic, topicOrd, msg, ordered, timeout, skipOnTimeout);
 
@@ -964,7 +1052,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
      * @param plc Type of processing.
      * @throws IgniteCheckedException Thrown in case of any errors.
      */
-    public void send(UUID nodeId, Object topic, Message msg, GridIoPolicy plc)
+    public void send(UUID nodeId, Object topic, Message msg, byte plc)
         throws IgniteCheckedException {
         ClusterNode node = ctx.discovery().node(nodeId);
 
@@ -982,7 +1070,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
      * @throws IgniteCheckedException Thrown in case of any errors.
      */
     @SuppressWarnings("TypeMayBeWeakened")
-    public void send(UUID nodeId, GridTopic topic, Message msg, GridIoPolicy plc)
+    public void send(UUID nodeId, GridTopic topic, Message msg, byte plc)
         throws IgniteCheckedException {
         ClusterNode node = ctx.discovery().node(nodeId);
 
@@ -999,7 +1087,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
      * @param plc Type of processing.
      * @throws IgniteCheckedException Thrown in case of any errors.
      */
-    public void send(ClusterNode node, Object topic, Message msg, GridIoPolicy plc)
+    public void send(ClusterNode node, Object topic, Message msg, byte plc)
         throws IgniteCheckedException {
         send(node, topic, -1, msg, plc, false, 0, false);
     }
@@ -1011,7 +1099,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
      * @param plc Type of processing.
      * @throws IgniteCheckedException Thrown in case of any errors.
      */
-    public void send(ClusterNode node, GridTopic topic, Message msg, GridIoPolicy plc)
+    public void send(ClusterNode node, GridTopic topic, Message msg, byte plc)
         throws IgniteCheckedException {
         send(node, topic, topic.ordinal(), msg, plc, false, 0, false);
     }
@@ -1029,7 +1117,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
         ClusterNode node,
         Object topic,
         Message msg,
-        GridIoPolicy plc,
+        byte plc,
         long timeout,
         boolean skipOnTimeout
     ) throws IgniteCheckedException {
@@ -1051,7 +1139,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
         UUID nodeId,
         Object topic,
         Message msg,
-        GridIoPolicy plc,
+        byte plc,
         long timeout,
         boolean skipOnTimeout
     ) throws IgniteCheckedException {
@@ -1078,7 +1166,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
         Collection<? extends ClusterNode> nodes,
         Object topic,
         Message msg,
-        GridIoPolicy plc,
+        byte plc,
         long timeout,
         boolean skipOnTimeout
     )
@@ -1099,7 +1187,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
         Collection<? extends ClusterNode> nodes,
         Object topic,
         Message msg,
-        GridIoPolicy plc
+        byte plc
     ) throws IgniteCheckedException {
         send(nodes, topic, -1, msg, plc, false, 0, false);
     }
@@ -1115,7 +1203,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
         Collection<? extends ClusterNode> nodes,
         GridTopic topic,
         Message msg,
-        GridIoPolicy plc
+        byte plc
     ) throws IgniteCheckedException {
         send(nodes, topic, topic.ordinal(), msg, plc, false, 0, false);
     }
@@ -1255,7 +1343,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
         Object topic,
         int topicOrd,
         Message msg,
-        GridIoPolicy plc,
+        byte plc,
         boolean ordered,
         long timeout,
         boolean skipOnTimeout
@@ -1263,7 +1351,6 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
         assert nodes != null;
         assert topic != null;
         assert msg != null;
-        assert plc != null;
 
         if (!ordered)
             assert F.find(nodes, null, F.localNode(locNodeId)) == null :
@@ -1848,7 +1935,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
         private final Object topic;
 
         /** */
-        private final GridIoPolicy plc;
+        private final byte plc;
 
         /** */
         @GridToStringInclude
@@ -1875,7 +1962,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
          * @param msg Message to add immediately.
          */
         GridCommunicationMessageSet(
-            GridIoPolicy plc,
+            byte plc,
             Object topic,
             UUID nodeId,
             long timeout,
@@ -1884,7 +1971,6 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
         ) {
             assert nodeId != null;
             assert topic != null;
-            assert plc != null;
             assert msg != null;
 
             this.plc = plc;
@@ -1977,7 +2063,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
         /**
          * @return Communication policy.
          */
-        GridIoPolicy policy() {
+        byte policy() {
             return plc;
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessage.java
index 5c1122b..6cf1ae5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessage.java
@@ -33,7 +33,7 @@ public class GridIoMessage implements Message {
     private static final long serialVersionUID = 0L;
 
     /** Policy. */
-    private GridIoPolicy plc;
+    private byte plc;
 
     /** Message topic. */
     @GridToStringInclude
@@ -76,7 +76,7 @@ public class GridIoMessage implements Message {
      * @param skipOnTimeout Whether message can be skipped on timeout.
      */
     public GridIoMessage(
-        GridIoPolicy plc,
+        byte plc,
         Object topic,
         int topicOrd,
         Message msg,
@@ -84,7 +84,6 @@ public class GridIoMessage implements Message {
         long timeout,
         boolean skipOnTimeout
     ) {
-        assert plc != null;
         assert topic != null;
         assert topicOrd <= Byte.MAX_VALUE;
         assert msg != null;
@@ -101,7 +100,7 @@ public class GridIoMessage implements Message {
     /**
      * @return Policy.
      */
-    GridIoPolicy policy() {
+    byte policy() {
         return plc;
     }
 
@@ -203,7 +202,7 @@ public class GridIoMessage implements Message {
                 writer.incrementState();
 
             case 2:
-                if (!writer.writeByte("plc", plc != null ? (byte)plc.ordinal() : -1))
+                if (!writer.writeByte("plc", plc))
                     return false;
 
                 writer.incrementState();
@@ -262,14 +261,14 @@ public class GridIoMessage implements Message {
                 reader.incrementState();
 
             case 2:
-                byte plcOrd;
+                byte plc0;
 
-                plcOrd = reader.readByte("plc");
+                plc0 = reader.readByte("plc");
 
                 if (!reader.isLastRead())
                     return false;
 
-                plc = GridIoPolicy.fromOrdinal(plcOrd);
+                plc = plc0;
 
                 reader.incrementState();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoPolicy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoPolicy.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoPolicy.java
index 6e45043..b091d44 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoPolicy.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoPolicy.java
@@ -17,44 +17,38 @@
 
 package org.apache.ignite.internal.managers.communication;
 
-import org.jetbrains.annotations.*;
-
 /**
  * This enumeration defines different types of communication
  * message processing by the communication manager.
  */
-public enum GridIoPolicy {
+public class GridIoPolicy {
     /** Public execution pool. */
-    PUBLIC_POOL,
+    public static final byte PUBLIC_POOL = 0;
 
     /** P2P execution pool. */
-    P2P_POOL,
+    public static final byte P2P_POOL = 1;
 
     /** System execution pool. */
-    SYSTEM_POOL,
+    public static final byte SYSTEM_POOL = 2;
 
     /** Management execution pool. */
-    MANAGEMENT_POOL,
+    public static final byte MANAGEMENT_POOL = 3;
 
     /** Affinity fetch pool. */
-    AFFINITY_POOL,
+    public static final byte AFFINITY_POOL = 4;
 
     /** Utility cache execution pool. */
-    UTILITY_CACHE_POOL,
+    public static final byte UTILITY_CACHE_POOL = 5;
 
     /** Marshaller cache execution pool. */
-    MARSH_CACHE_POOL;
-
-    /** Enum values. */
-    private static final GridIoPolicy[] VALS = values();
+    public static final byte MARSH_CACHE_POOL = 6;
 
     /**
-     * Efficiently gets enumerated value from its ordinal.
-     *
-     * @param ord Ordinal value.
-     * @return Enumerated value.
+     * Defines the range of reserved pools that are not available for plugins.
+     * @param key The key.
+     * @return If the key corresponds to reserved pool range.
      */
-    @Nullable public static GridIoPolicy fromOrdinal(int ord) {
-        return ord >= 0 && ord < VALS.length ? VALS[ord] : null;
+    public static boolean isReservedGridIoPolicy(byte key) {
+        return key >= 0 && key <= 31;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
index 95c5eb1..365076b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
@@ -986,7 +986,7 @@ public class GridEventStorageManager extends GridManagerAdapter<EventStorageSpi>
      * @throws IgniteCheckedException If sending failed.
      */
     private void sendMessage(Collection<? extends ClusterNode> nodes, GridTopic topic,
-        GridEventStorageMessage msg, GridIoPolicy plc) throws IgniteCheckedException {
+        GridEventStorageMessage msg, byte plc) throws IgniteCheckedException {
         ClusterNode locNode = F.find(nodes, null, F.localNode(ctx.localNodeId()));
 
         Collection<? extends ClusterNode> rmtNodes = F.view(nodes, F.remoteNodes(ctx.localNodeId()));

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheType.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheType.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheType.java
index e0747b9..954bfe5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheType.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheType.java
@@ -17,8 +17,6 @@
 
 package org.apache.ignite.internal.processors.cache;
 
-import org.apache.ignite.internal.managers.communication.*;
-
 import static org.apache.ignite.internal.managers.communication.GridIoPolicy.*;
 
 /**
@@ -49,13 +47,13 @@ public enum CacheType {
     private final boolean userCache;
 
     /** */
-    private final GridIoPolicy ioPlc;
+    private final byte ioPlc;
 
     /**
      * @param userCache {@code True} if cache created by user.
      * @param ioPlc Cache IO policy.
      */
-    CacheType(boolean userCache, GridIoPolicy ioPlc) {
+    CacheType(boolean userCache, byte ioPlc) {
         this.userCache = userCache;
         this.ioPlc = ioPlc;
     }
@@ -63,7 +61,7 @@ public enum CacheType {
     /**
      * @return Cache IO policy.
      */
-    public GridIoPolicy ioPolicy() {
+    public byte ioPolicy() {
         return ioPlc;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
index 9b7801c..580e452 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
@@ -170,7 +170,7 @@ public class GridCacheContext<K, V> implements Externalizable {
     private CacheType cacheType;
 
     /** IO policy. */
-    private GridIoPolicy plc;
+    private byte plc;
 
     /** Default expiry policy. */
     private ExpiryPolicy expiryPlc;
@@ -459,7 +459,7 @@ public class GridCacheContext<K, V> implements Externalizable {
     /**
      * @return IO policy for the given cache.
      */
-    public GridIoPolicy ioPolicy() {
+    public byte ioPolicy() {
         return plc;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
index 74a4512..0707096 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
@@ -309,7 +309,7 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
      * @param plc grid io policy.
      */
     private void sendResponseOnFailedMessage(UUID nodeId, GridCacheMessage res, GridCacheSharedContext cctx,
-        GridIoPolicy plc) {
+        byte plc) {
         try {
             cctx.io().send(nodeId, res, plc);
         }
@@ -580,7 +580,7 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
      * @throws ClusterTopologyCheckedException If receiver left.
      */
     @SuppressWarnings("unchecked")
-    public void send(ClusterNode node, GridCacheMessage msg, GridIoPolicy plc) throws IgniteCheckedException {
+    public void send(ClusterNode node, GridCacheMessage msg, byte plc) throws IgniteCheckedException {
         assert !node.isLocal();
 
         onSend(msg, node.id());
@@ -627,7 +627,7 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
      * @throws IgniteCheckedException If send failed.
      */
     @SuppressWarnings({"BusyWait", "unchecked"})
-    public boolean safeSend(Collection<? extends ClusterNode> nodes, GridCacheMessage msg, GridIoPolicy plc,
+    public boolean safeSend(Collection<? extends ClusterNode> nodes, GridCacheMessage msg, byte plc,
         @Nullable IgnitePredicate<ClusterNode> fallback) throws IgniteCheckedException {
         assert nodes != null;
         assert msg != null;
@@ -739,7 +739,7 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
      * @param plc IO policy.
      * @throws IgniteCheckedException If sending failed.
      */
-    public void send(UUID nodeId, GridCacheMessage msg, GridIoPolicy plc) throws IgniteCheckedException {
+    public void send(UUID nodeId, GridCacheMessage msg, byte plc) throws IgniteCheckedException {
         ClusterNode n = cctx.discovery().node(nodeId);
 
         if (n == null)
@@ -757,7 +757,7 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
      * @param timeout Timeout to keep a message on receiving queue.
      * @throws IgniteCheckedException Thrown in case of any errors.
      */
-    public void sendOrderedMessage(ClusterNode node, Object topic, GridCacheMessage msg, GridIoPolicy plc,
+    public void sendOrderedMessage(ClusterNode node, Object topic, GridCacheMessage msg, byte plc,
         long timeout) throws IgniteCheckedException {
         onSend(msg, node.id());
 
@@ -807,7 +807,7 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
      */
     public void sendNoRetry(ClusterNode node,
         GridCacheMessage msg,
-        GridIoPolicy plc)
+        byte plc)
         throws IgniteCheckedException
     {
         assert node != null;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java
index 986e211..7a84f9a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java
@@ -18,7 +18,6 @@
 package org.apache.ignite.internal.processors.cache.distributed;
 
 import org.apache.ignite.*;
-import org.apache.ignite.internal.managers.communication.*;
 import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.processors.cache.version.*;
 import org.apache.ignite.internal.util.tostring.*;
@@ -68,7 +67,7 @@ public class GridDistributedTxFinishRequest extends GridDistributedBaseMessage {
     private boolean sys;
 
     /** IO policy. */
-    private GridIoPolicy plc;
+    private byte plc;
 
     /**
      * Empty constructor required by {@link Externalizable}.
@@ -99,7 +98,7 @@ public class GridDistributedTxFinishRequest extends GridDistributedBaseMessage {
         boolean commit,
         boolean invalidate,
         boolean sys,
-        GridIoPolicy plc,
+        byte plc,
         boolean syncCommit,
         boolean syncRollback,
         GridCacheVersion baseVer,
@@ -135,7 +134,7 @@ public class GridDistributedTxFinishRequest extends GridDistributedBaseMessage {
     /**
      * @return IO policy.
      */
-    public GridIoPolicy policy() {
+    public byte policy() {
         return plc;
     }
 
@@ -268,7 +267,7 @@ public class GridDistributedTxFinishRequest extends GridDistributedBaseMessage {
                 writer.incrementState();
 
             case 12:
-                if (!writer.writeByte("plc", plc != null ? (byte)plc.ordinal() : -1))
+                if (!writer.writeByte("plc", plc))
                     return false;
 
                 writer.incrementState();
@@ -367,7 +366,7 @@ public class GridDistributedTxFinishRequest extends GridDistributedBaseMessage {
                 if (!reader.isLastRead())
                     return false;
 
-                plc = GridIoPolicy.fromOrdinal(plcOrd);
+                plc = plcOrd;
 
                 reader.incrementState();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
index 3078277..20aa833 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.processors.cache.distributed;
 
 import org.apache.ignite.*;
 import org.apache.ignite.internal.*;
-import org.apache.ignite.internal.managers.communication.*;
 import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.processors.cache.transactions.*;
 import org.apache.ignite.internal.processors.cache.version.*;
@@ -105,7 +104,7 @@ public class GridDistributedTxPrepareRequest extends GridDistributedBaseMessage
     private boolean sys;
 
     /** IO policy. */
-    private GridIoPolicy plc;
+    private byte plc;
 
     /**
      * Required by {@link Externalizable}.
@@ -163,7 +162,7 @@ public class GridDistributedTxPrepareRequest extends GridDistributedBaseMessage
     /**
      * @return IO policy.
      */
-    public GridIoPolicy policy() {
+    public byte policy() {
         return plc;
     }
 
@@ -377,7 +376,7 @@ public class GridDistributedTxPrepareRequest extends GridDistributedBaseMessage
                 writer.incrementState();
 
             case 13:
-                if (!writer.writeByte("plc", plc != null ? (byte)plc.ordinal() : -1))
+                if (!writer.writeByte("plc", plc))
                     return false;
 
                 writer.incrementState();
@@ -510,7 +509,7 @@ public class GridDistributedTxPrepareRequest extends GridDistributedBaseMessage
                 if (!reader.isLastRead())
                     return false;
 
-                plc = GridIoPolicy.fromOrdinal(plcOrd);
+                plc = plcOrd;
 
                 reader.incrementState();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
index ac5395d..e34be8a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
@@ -105,7 +105,7 @@ public class GridDistributedTxRemoteAdapter extends IgniteTxAdapter
         GridCacheVersion xidVer,
         GridCacheVersion commitVer,
         boolean sys,
-        GridIoPolicy plc,
+        byte plc,
         TransactionConcurrency concurrency,
         TransactionIsolation isolation,
         boolean invalidate,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
index a493ebb..5b073e4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
@@ -111,7 +111,7 @@ public class GridDhtTxFinishRequest extends GridDistributedTxFinishRequest {
         boolean commit,
         boolean invalidate,
         boolean sys,
-        GridIoPolicy plc,
+        byte plc,
         boolean sysInvalidate,
         boolean syncCommit,
         boolean syncRollback,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocal.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocal.java
index 841cac8..dcfc2f3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocal.java
@@ -106,7 +106,7 @@ public class GridDhtTxLocal extends GridDhtTxLocalAdapter implements GridCacheMa
         boolean implicitSingle,
         boolean sys,
         boolean explicitLock,
-        GridIoPolicy plc,
+        byte plc,
         TransactionConcurrency concurrency,
         TransactionIsolation isolation,
         long timeout,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
index 90edb0f..eb391c5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
@@ -100,7 +100,7 @@ public abstract class GridDhtTxLocalAdapter extends IgniteTxLocalAdapter {
         boolean implicitSingle,
         boolean sys,
         boolean explicitLock,
-        GridIoPolicy plc,
+        byte plc,
         TransactionConcurrency concurrency,
         TransactionIsolation isolation,
         long timeout,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxRemote.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxRemote.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxRemote.java
index 0a69910..a0566e9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxRemote.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxRemote.java
@@ -90,7 +90,7 @@ public class GridDhtTxRemote extends GridDistributedTxRemoteAdapter {
         GridCacheVersion xidVer,
         GridCacheVersion commitVer,
         boolean sys,
-        GridIoPolicy plc,
+        byte plc,
         TransactionConcurrency concurrency,
         TransactionIsolation isolation,
         boolean invalidate,
@@ -149,7 +149,7 @@ public class GridDhtTxRemote extends GridDistributedTxRemoteAdapter {
         GridCacheVersion xidVer,
         GridCacheVersion commitVer,
         boolean sys,
-        GridIoPolicy plc,
+        byte plc,
         TransactionConcurrency concurrency,
         TransactionIsolation isolation,
         boolean invalidate,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishRequest.java
index 15f42ff..7ed096f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishRequest.java
@@ -84,7 +84,7 @@ public class GridNearTxFinishRequest extends GridDistributedTxFinishRequest {
         boolean commit,
         boolean invalidate,
         boolean sys,
-        GridIoPolicy plc,
+        byte plc,
         boolean syncCommit,
         boolean syncRollback,
         boolean explicitLock,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
index fa8877a..5a35991 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
@@ -111,7 +111,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter {
         boolean implicit,
         boolean implicitSingle,
         boolean sys,
-        GridIoPolicy plc,
+        byte plc,
         TransactionConcurrency concurrency,
         TransactionIsolation isolation,
         long timeout,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxRemote.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxRemote.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxRemote.java
index 49283cb..6cc7304 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxRemote.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxRemote.java
@@ -86,7 +86,7 @@ public class GridNearTxRemote extends GridDistributedTxRemoteAdapter {
         GridCacheVersion xidVer,
         GridCacheVersion commitVer,
         boolean sys,
-        GridIoPolicy plc,
+        byte plc,
         TransactionConcurrency concurrency,
         TransactionIsolation isolation,
         boolean invalidate,
@@ -143,7 +143,7 @@ public class GridNearTxRemote extends GridDistributedTxRemoteAdapter {
         GridCacheVersion xidVer,
         GridCacheVersion commitVer,
         boolean sys,
-        GridIoPolicy plc,
+        byte plc,
         TransactionConcurrency concurrency,
         TransactionIsolation isolation,
         boolean invalidate,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteInternalTx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteInternalTx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteInternalTx.java
index cb86e0d..9caa4c4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteInternalTx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteInternalTx.java
@@ -246,7 +246,7 @@ public interface IgniteInternalTx extends AutoCloseable, GridTimeoutObject {
     /**
      * @return Pool where message for the given transaction must be processed.
      */
-    public GridIoPolicy ioPolicy();
+    public byte ioPolicy();
 
     /**
      * @return Last recorded topology version.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
index 9e8950f..38e9b58 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
@@ -136,7 +136,7 @@ public abstract class IgniteTxAdapter extends GridMetadataAwareAdapter
     private boolean sys;
 
     /** IO policy. */
-    private GridIoPolicy plc;
+    private byte plc;
 
     /** */
     protected boolean onePhaseCommit;
@@ -238,7 +238,7 @@ public abstract class IgniteTxAdapter extends GridMetadataAwareAdapter
         boolean implicitSingle,
         boolean loc,
         boolean sys,
-        GridIoPolicy plc,
+        byte plc,
         TransactionConcurrency concurrency,
         TransactionIsolation isolation,
         long timeout,
@@ -296,7 +296,7 @@ public abstract class IgniteTxAdapter extends GridMetadataAwareAdapter
         GridCacheVersion startVer,
         long threadId,
         boolean sys,
-        GridIoPolicy plc,
+        byte plc,
         TransactionConcurrency concurrency,
         TransactionIsolation isolation,
         long timeout,
@@ -399,7 +399,7 @@ public abstract class IgniteTxAdapter extends GridMetadataAwareAdapter
     }
 
     /** {@inheritDoc} */
-    @Override public GridIoPolicy ioPolicy() {
+    @Override public byte ioPolicy() {
         return plc;
     }
 
@@ -1716,7 +1716,7 @@ public abstract class IgniteTxAdapter extends GridMetadataAwareAdapter
             throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
         }
 
-        @Override public GridIoPolicy ioPolicy() {
+        @Override public byte ioPolicy() {
             throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
index 7bc9042..b3eca38 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
@@ -128,7 +128,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
         boolean implicit,
         boolean implicitSingle,
         boolean sys,
-        GridIoPolicy plc,
+        byte plc,
         TransactionConcurrency concurrency,
         TransactionIsolation isolation,
         long timeout,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsContext.java
index 475a7fc..24b56d3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsContext.java
@@ -21,7 +21,6 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.internal.*;
-import org.apache.ignite.internal.managers.communication.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.jetbrains.annotations.*;
 
@@ -148,7 +147,7 @@ public class IgfsContext {
      * @param plc Policy.
      * @throws IgniteCheckedException In case of error.
      */
-    public void send(UUID nodeId, Object topic, IgfsCommunicationMessage msg, GridIoPolicy plc)
+    public void send(UUID nodeId, Object topic, IgfsCommunicationMessage msg, byte plc)
         throws IgniteCheckedException {
         if (!kernalContext().localNodeId().equals(nodeId))
             msg.prepareMarshal(kernalContext().config().getMarshaller());
@@ -163,7 +162,7 @@ public class IgfsContext {
      * @param plc Policy.
      * @throws IgniteCheckedException In case of error.
      */
-    public void send(ClusterNode node, Object topic, IgfsCommunicationMessage msg, GridIoPolicy plc)
+    public void send(ClusterNode node, Object topic, IgfsCommunicationMessage msg, byte plc)
         throws IgniteCheckedException {
         if (!kernalContext().localNodeId().equals(node.id()))
             msg.prepareMarshal(kernalContext().config().getMarshaller());

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/internal/processors/plugin/IgnitePluginProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/plugin/IgnitePluginProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/plugin/IgnitePluginProcessor.java
index ecc6924..9b0b016 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/plugin/IgnitePluginProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/plugin/IgnitePluginProcessor.java
@@ -176,7 +176,7 @@ public class IgnitePluginProcessor extends GridProcessorAdapter {
     }
 
     /**
-     * Print plugin information.
+     * Print plugins information.
      */
     private void ackPluginsInfo() {
         U.quietAndInfo(log, "Configured plugins:");

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/IoPoolExtension.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/IoPoolExtension.java b/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/IoPoolExtension.java
new file mode 100644
index 0000000..2f02f01
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/IoPoolExtension.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.plugin.extensions.communication;
+
+import org.apache.ignite.plugin.*;
+
+import java.util.concurrent.*;
+
+/**
+ * The interface of IO Messaging Pool Extension.
+ */
+public interface IoPoolExtension extends Extension {
+    /**
+     * Gets the numeric identifier of the Pool.
+     * This identifier is to be taken from serialized
+     * message and used to find the appropriate executor pool to process it.
+     * @return The id.
+     */
+    public byte id();
+
+    /**
+     * Gets the Executor for this Pool. Must always return the same Executor instance.
+     * @return The executor.
+     */
+    public Executor executor();
+
+    /**
+     * Gets the Id of the plugin that injected this executor pool.
+     * @return The plugin Id.
+     */
+    public String pligunId();
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/GridIoManagerSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/GridIoManagerSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/GridIoManagerSelfTest.java
index 3890716..eb1fd88 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/GridIoManagerSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/GridIoManagerSelfTest.java
@@ -189,7 +189,7 @@ public class GridIoManagerSelfTest extends GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override public void send(ClusterNode node, GridTopic topic, Message msg, GridIoPolicy plc)
+        @Override public void send(ClusterNode node, GridTopic topic, Message msg, byte plc)
             throws IgniteCheckedException {
             // No-op.
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f710cd4d/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteInternalCacheTypesTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteInternalCacheTypesTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteInternalCacheTypesTest.java
index c9da7c5..8c2a0f8 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteInternalCacheTypesTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteInternalCacheTypesTest.java
@@ -20,7 +20,6 @@ package org.apache.ignite.internal.processors.cache;
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.internal.*;
-import org.apache.ignite.internal.managers.communication.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
@@ -146,7 +145,7 @@ public class IgniteInternalCacheTypesTest extends GridCommonAbstractTest {
     private void checkCache(
         Ignite ignite,
         String name,
-        GridIoPolicy plc,
+        byte plc,
         boolean user,
         boolean sysTx) {
         GridCacheAdapter cache = ((IgniteKernal)ignite).context().cache().internalCache(name);


[26/32] incubator-ignite git commit: Merge remote-tracking branch 'origin/ignite-sprint-7' into ignite-sprint-7

Posted by sb...@apache.org.
Merge remote-tracking branch 'origin/ignite-sprint-7' into ignite-sprint-7


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

Branch: refs/heads/ignite-gg-10298
Commit: 5dff89c650575b6fe92450492027e77ffce48186
Parents: a226666 15f3612
Author: avinogradov <av...@gridgain.com>
Authored: Mon Jun 29 15:56:02 2015 +0300
Committer: avinogradov <av...@gridgain.com>
Committed: Mon Jun 29 15:56:02 2015 +0300

----------------------------------------------------------------------
 .../ignite/internal/GridKernalContextImpl.java  |   2 +-
 .../processors/cache/GridCacheProcessor.java    |  62 ++++--
 .../cache/GridCacheDaemonNodeStopSelfTest.java  | 119 ------------
 .../IgniteDaemonNodeMarshallerCacheTest.java    | 192 +++++++++++++++++++
 .../ignite/testsuites/IgniteBasicTestSuite.java |   1 +
 .../testsuites/IgniteCacheTestSuite3.java       |   1 -
 6 files changed, 245 insertions(+), 132 deletions(-)
----------------------------------------------------------------------



[20/32] incubator-ignite git commit: Merge branch 'ignite-gg-10457' into ignite-sprint-7

Posted by sb...@apache.org.
Merge branch 'ignite-gg-10457' into ignite-sprint-7


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

Branch: refs/heads/ignite-gg-10298
Commit: c6187a984c6b4f2d78a95bad127a7685aa9baf95
Parents: 6996ea9 775edcb
Author: AKuznetsov <ak...@gridgain.com>
Authored: Mon Jun 29 10:46:30 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Mon Jun 29 10:46:30 2015 +0700

----------------------------------------------------------------------
 .../ignite/internal/visor/node/VisorNodeDataCollectorJob.java      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------



[08/32] incubator-ignite git commit: # ignite-1006

Posted by sb...@apache.org.
# ignite-1006


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

Branch: refs/heads/ignite-gg-10298
Commit: c6f66c64becfda669e381aade63ae59d946962c2
Parents: addc91b
Author: Atri <at...@gmail.com>
Authored: Thu Jun 25 14:14:23 2015 +0530
Committer: ashutak <as...@gridgain.com>
Committed: Thu Jun 25 21:11:55 2015 +0300

----------------------------------------------------------------------
 .../org/apache/ignite/cluster/ClusterGroup.java |  7 +++++++
 .../internal/cluster/ClusterGroupAdapter.java   | 14 +++++++++++++
 .../cluster/IgniteClusterAsyncImpl.java         |  5 +++++
 .../ignite/internal/GridProjectionSelfTest.java | 22 ++++++++++++++++++++
 4 files changed, 48 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c6f66c64/modules/core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java b/modules/core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java
index 06854d4..e2831a7 100644
--- a/modules/core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java
+++ b/modules/core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java
@@ -261,6 +261,13 @@ public interface ClusterGroup {
     public ClusterNode node();
 
     /**
+     * Gets the read-only collection of hostnames in this cluster group.
+     *
+     * @return All hostnames in this cluster group.
+     */
+    public Collection<String> hostNames();
+
+    /**
      * Gets predicate that defines a subset of nodes for this cluster group.
      *
      * @return Predicate that defines a subset of nodes for this cluster group.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c6f66c64/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
index bb82c3b..8c2fece 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
@@ -295,6 +295,20 @@ public class ClusterGroupAdapter implements ClusterGroupEx, Externalizable {
     }
 
     /** {@inheritDoc} */
+    @Override public Collection<String> hostNames() {
+        Collection<String> resultHostNames = new HashSet<String> ();
+        Collection<ClusterNode> allNodes = nodes();
+
+        if (!(allNodes.isEmpty()))
+        {
+            for (ClusterNode currentNode : allNodes)
+                Collections.addAll(resultHostNames, currentNode.hostNames().toArray(new String[0]));
+        }
+
+        return resultHostNames;
+    }
+
+    /** {@inheritDoc} */
     @Override public final ClusterNode node(UUID id) {
         A.notNull(id, "id");
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c6f66c64/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java
index 7f67b4f..8c6f4e0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java
@@ -262,6 +262,11 @@ public class IgniteClusterAsyncImpl extends AsyncSupportAdapter<IgniteCluster>
     }
 
     /** {@inheritDoc} */
+    @Override public Collection<String> hostNames() {
+        return cluster.hostNames();
+    }
+
+    /** {@inheritDoc} */
     @Nullable @Override public ClusterNode node() {
         return cluster.node();
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c6f66c64/modules/core/src/test/java/org/apache/ignite/internal/GridProjectionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/GridProjectionSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/GridProjectionSelfTest.java
index 9fbad80..fc2c64d 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/GridProjectionSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/GridProjectionSelfTest.java
@@ -248,4 +248,26 @@ public class GridProjectionSelfTest extends GridProjectionAbstractTest {
 
         return even ? cnt - 1 : cnt - 2;
     }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testHostNames() throws Exception {
+        Collection<String> inputHostNames = ignite.cluster().hostNames();
+        Collection<String> localNodeHostNames = ignite.cluster().localNode().hostNames();
+        Collection<String> randomNodeHostNames = ignite.cluster().forRandom().node().hostNames();
+        Collection<ClusterNode> allNodes = ignite.cluster().nodes();
+        Collection<String> checkHostNames = new HashSet<String> ();
+
+        for (ClusterNode currentNode : allNodes)
+            Collections.addAll(checkHostNames, currentNode.hostNames().toArray(new String[0]));
+
+        assert(checkHostNames.equals(inputHostNames));
+
+        if (!(localNodeHostNames.isEmpty()) && !(inputHostNames.isEmpty()))
+            assert((inputHostNames.containsAll(localNodeHostNames)) == true);
+
+        if (!(randomNodeHostNames.isEmpty()) && !(inputHostNames.isEmpty()))
+            assert((inputHostNames.containsAll(randomNodeHostNames)) == true);
+    }
 }


[11/32] incubator-ignite git commit: # init marshaller cache on daemon nodes

Posted by sb...@apache.org.
# init marshaller cache on daemon nodes


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

Branch: refs/heads/ignite-gg-10298
Commit: 3231f93373a2f84b7e0ea64d969b53121b6fe323
Parents: 01d842a
Author: sboikov <sb...@gridgain.com>
Authored: Fri Jun 26 14:34:24 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri Jun 26 15:28:52 2015 +0300

----------------------------------------------------------------------
 .../ignite/internal/GridKernalContextImpl.java  |   2 +-
 .../processors/cache/GridCacheProcessor.java    |  62 ++++--
 .../IgniteDaemonNodeMarshallerCacheTest.java    | 192 +++++++++++++++++++
 .../ignite/testsuites/IgniteBasicTestSuite.java |   1 +
 4 files changed, 245 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3231f933/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
index 65107a7..8abb135 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
@@ -899,7 +899,7 @@ public class GridKernalContextImpl implements GridKernalContext, Externalizable
 
     /** {@inheritDoc} */
     @Override public boolean clientNode() {
-        return cfg.isClientMode();
+        return cfg.isClientMode() || cfg.isDaemon();
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3231f933/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 2f7f22c..8124594 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
@@ -265,7 +265,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
 
         // Suppress warning if at least one ATOMIC cache found.
         perf.add("Enable ATOMIC mode if not using transactions (set 'atomicityMode' to ATOMIC)",
-                 cfg.getAtomicityMode() == ATOMIC);
+            cfg.getAtomicityMode() == ATOMIC);
 
         // Suppress warning if at least one non-FULL_SYNC mode found.
         perf.add("Disable fully synchronous writes (set 'writeSynchronizationMode' to PRIMARY_SYNC or FULL_ASYNC)",
@@ -341,8 +341,8 @@ public class GridCacheProcessor extends GridProcessorAdapter {
                 "Serializable transactions are disabled while default transaction isolation is SERIALIZABLE " +
                     "(most likely misconfiguration - either update 'isTxSerializableEnabled' or " +
                     "'defaultTxIsolationLevel' properties) for cache: " + U.maskName(cc.getName()),
-                    "Serializable transactions are disabled while default transaction isolation is SERIALIZABLE " +
-                        "for cache: " + U.maskName(cc.getName()));
+                "Serializable transactions are disabled while default transaction isolation is SERIALIZABLE " +
+                    "for cache: " + U.maskName(cc.getName()));
 
         if (cc.isWriteBehindEnabled()) {
             if (cfgStore == null)
@@ -527,8 +527,14 @@ public class GridCacheProcessor extends GridProcessorAdapter {
     /** {@inheritDoc} */
     @SuppressWarnings( {"unchecked"})
     @Override public void start() throws IgniteCheckedException {
-        if (ctx.config().isDaemon())
+        if (ctx.config().isDaemon()) {
+            sharedCtx = createSharedContext(ctx, CU.startStoreSessionListeners(ctx, null));
+
+            for (GridCacheSharedManager mgr : sharedCtx.managers())
+                mgr.start(sharedCtx);
+
             return;
+        }
 
         DeploymentMode depMode = ctx.config().getDeploymentMode();
 
@@ -667,8 +673,45 @@ public class GridCacheProcessor extends GridProcessorAdapter {
     @SuppressWarnings("unchecked")
     @Override public void onKernalStart() throws IgniteCheckedException {
         try {
-            if (ctx.config().isDaemon())
+            if (ctx.config().isDaemon()) {
+                for (CacheConfiguration ccfg : ctx.config().getCacheConfiguration()) {
+                    if (CU.isMarshallerCache(ccfg.getName())) {
+                        CacheObjectContext cacheObjCtx = ctx.cacheObjects().contextForCache(ccfg);
+
+                        initialize(ccfg, cacheObjCtx);
+
+                        GridCacheContext ctx = createCache(ccfg, null, CacheType.MARSHALLER, cacheObjCtx, true);
+
+                        ctx.dynamicDeploymentId(IgniteUuid.randomUuid());
+
+                        sharedCtx.addCacheContext(ctx);
+
+                        GridCacheAdapter cache = ctx.cache();
+
+                        String name = ccfg.getName();
+
+                        caches.put(maskNull(name), cache);
+
+                        startCache(cache);
+
+                        break;
+                    }
+                }
+
+                marshallerCache().context().preloader().syncFuture().listen(new CIX1<IgniteInternalFuture<?>>() {
+                    @Override public void applyx(IgniteInternalFuture<?> f) throws IgniteCheckedException {
+                        ctx.marshallerContext().onMarshallerCachePreloaded(ctx);
+                    }
+                });
+
+                for (GridCacheSharedManager<?, ?> mgr : sharedCtx.managers())
+                    mgr.onKernalStart();
+
+                for (GridCacheAdapter<?, ?> cache : caches.values())
+                    onKernalStart(cache);
+
                 return;
+            }
 
             ClusterNode locNode = ctx.discovery().localNode();
 
@@ -808,9 +851,6 @@ public class GridCacheProcessor extends GridProcessorAdapter {
     /** {@inheritDoc} */
     @SuppressWarnings("unchecked")
     @Override public void stop(boolean cancel) throws IgniteCheckedException {
-        if (ctx.config().isDaemon())
-            return;
-
         for (String cacheName : stopSeq) {
             GridCacheAdapter<?, ?> cache = caches.remove(maskNull(cacheName));
 
@@ -850,9 +890,6 @@ public class GridCacheProcessor extends GridProcessorAdapter {
     @Override public void onKernalStop(boolean cancel) {
         cacheStartedLatch.countDown();
 
-        if (ctx.config().isDaemon())
-            return;
-
         for (String cacheName : stopSeq) {
             GridCacheAdapter<?, ?> cache = caches.get(maskNull(cacheName));
 
@@ -1390,6 +1427,9 @@ public class GridCacheProcessor extends GridProcessorAdapter {
         Collection<DynamicCacheChangeRequest> reqs,
         AffinityTopologyVersion topVer
     ) throws IgniteCheckedException {
+        if (ctx.isDaemon())
+            return;
+
         for (DynamicCacheChangeRequest req : reqs) {
             assert req.start() : req;
             assert req.cacheType() != null : req;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3231f933/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteDaemonNodeMarshallerCacheTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteDaemonNodeMarshallerCacheTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteDaemonNodeMarshallerCacheTest.java
new file mode 100644
index 0000000..a0f4074
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteDaemonNodeMarshallerCacheTest.java
@@ -0,0 +1,192 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.cache;
+
+import org.apache.ignite.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.resources.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.testframework.junits.common.*;
+
+import java.io.*;
+
+import static org.apache.ignite.cache.CacheMode.*;
+import static org.apache.ignite.cache.CacheRebalanceMode.*;
+import static org.apache.ignite.internal.IgniteNodeAttributes.*;
+
+/**
+ *
+ */
+public class IgniteDaemonNodeMarshallerCacheTest extends GridCommonAbstractTest {
+    /** */
+    private static TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
+
+    /** */
+    private boolean daemon;
+
+    /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+        IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+        cfg.setDaemon(daemon);
+
+        ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(ipFinder);
+
+        return cfg;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTest() throws Exception {
+        super.afterTest();
+
+        stopAllGrids();
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testMarshalOnDaemonNode1() throws Exception {
+        marshalOnDaemonNode(true);
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testMarshalOnDaemonNode2() throws Exception {
+        marshalOnDaemonNode(false);
+    }
+
+    /**
+     * @param startFirst If {@code true} daemon node is started first.
+     * @throws Exception If failed.
+     */
+    public void marshalOnDaemonNode(boolean startFirst) throws Exception {
+        int nodeIdx = 0;
+
+        if (!startFirst) {
+            Ignite ignite1 = startGrid(nodeIdx++);
+
+            assertFalse("true".equals(ignite1.cluster().localNode().attribute(ATTR_DAEMON)));
+        }
+
+        daemon = true;
+
+        Ignite daemonNode = startGrid(nodeIdx++);
+
+        assertEquals("true", daemonNode.cluster().localNode().attribute(ATTR_DAEMON));
+
+        daemon = false;
+
+        if (startFirst) {
+            Ignite ignite1 = startGrid(nodeIdx++);
+
+            assertFalse("true".equals(ignite1.cluster().localNode().attribute(ATTR_DAEMON)));
+        }
+
+        awaitPartitionMapExchange();
+
+        TestClass1 res1 = daemonNode.compute(daemonNode.cluster().forRemotes()).call(new TestCallable1());
+
+        assertNotNull(res1);
+        assertEquals(111, res1.val);
+
+        Ignite ignite2 = startGrid(nodeIdx);
+
+        CacheConfiguration<Object, Object> ccfg = new CacheConfiguration<>();
+
+        ccfg.setRebalanceMode(SYNC);
+        ccfg.setCacheMode(REPLICATED);
+
+        IgniteCache<Object, Object> cache = ignite2.getOrCreateCache(ccfg);
+
+        awaitPartitionMapExchange();
+
+        cache.put(1, new TestClass1(1));
+        cache.put(2, new TestClass2(2));
+
+        TestClass2 res2 = daemonNode.compute(daemonNode.cluster().forRemotes()).call(new TestCallable2());
+
+        assertNotNull(res2);
+        assertEquals(222, res2.val);
+    }
+
+    /**
+     *
+     */
+    private static class TestCallable1 implements IgniteCallable<TestClass1> {
+        /** */
+        @IgniteInstanceResource
+        private Ignite ignite;
+
+        /** {@inheritDoc} */
+        @Override public TestClass1 call() throws Exception {
+            assertFalse("true".equals(ignite.cluster().localNode().attribute(ATTR_DAEMON)));
+
+            return new TestClass1(111);
+        }
+    }
+
+    /**
+     *
+     */
+    private static class TestCallable2 implements IgniteCallable<TestClass2> {
+        /** */
+        @IgniteInstanceResource
+        private Ignite ignite;
+
+        /** {@inheritDoc} */
+        @Override public TestClass2 call() throws Exception {
+            assertFalse("true".equals(ignite.cluster().localNode().attribute(ATTR_DAEMON)));
+
+            return new TestClass2(222);
+        }
+    }
+
+    /**
+     *
+     */
+    private static class TestClass1 implements Serializable {
+        /** */
+        public int val;
+
+        /**
+         * @param val Value.
+         */
+        public TestClass1(int val) {
+            this.val = val;
+        }
+    }
+
+    /**
+     *
+     */
+    private static class TestClass2 implements Serializable {
+        /** */
+        public int val;
+
+        /**
+         * @param val Value.
+         */
+        public TestClass2(int val) {
+            this.val = val;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3231f933/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
index 6ff83e2..df22290 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
@@ -94,6 +94,7 @@ public class IgniteBasicTestSuite extends TestSuite {
         suite.addTestSuite(GridFailFastNodeFailureDetectionSelfTest.class);
         suite.addTestSuite(OffHeapTieredTransactionSelfTest.class);
         suite.addTestSuite(IgniteSlowClientDetectionSelfTest.class);
+        suite.addTestSuite(IgniteDaemonNodeMarshallerCacheTest.class);
 
         return suite;
     }


[02/32] incubator-ignite git commit: Merge branches 'ignite-gg-10404' and 'ignite-sprint-6' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-gg-10404

Posted by sb...@apache.org.
Merge branches 'ignite-gg-10404' and 'ignite-sprint-6' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-gg-10404


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

Branch: refs/heads/ignite-gg-10298
Commit: 67790714098c9c413a06b855c5b51e665a39e755
Parents: 32697ab b087aca
Author: AKuznetsov <ak...@gridgain.com>
Authored: Fri Jun 12 14:15:58 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Fri Jun 12 14:15:58 2015 +0700

----------------------------------------------------------------------
 .../processors/cache/GridCacheProcessor.java    |  17 ++
 .../continuous/GridContinuousProcessor.java     |  15 +-
 ...teStartCacheInTransactionAtomicSelfTest.java |  32 +++
 .../IgniteStartCacheInTransactionSelfTest.java  | 254 +++++++++++++++++++
 .../testsuites/IgniteCacheTestSuite4.java       |   3 +
 5 files changed, 315 insertions(+), 6 deletions(-)
----------------------------------------------------------------------



[31/32] incubator-ignite git commit: Merge branch 'ignite-1058' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-gg-10298

Posted by sb...@apache.org.
Merge branch 'ignite-1058' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-gg-10298

Conflicts:
	modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoPolicy.java


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

Branch: refs/heads/ignite-gg-10298
Commit: e428f4245fb017808c38f599390cd9fb923cbef0
Parents: be973e2 6d26510
Author: iveselovskiy <iv...@gridgain.com>
Authored: Mon Jun 29 18:45:21 2015 +0300
Committer: iveselovskiy <iv...@gridgain.com>
Committed: Mon Jun 29 18:45:21 2015 +0300

----------------------------------------------------------------------
 .../managers/communication/GridIoManager.java   | 134 +++++++++++++++----
 .../managers/communication/GridIoMessage.java   |  15 +--
 .../managers/communication/GridIoPolicy.java    |  35 ++---
 .../eventstorage/GridEventStorageManager.java   |   2 +-
 .../internal/processors/cache/CacheType.java    |   8 +-
 .../processors/cache/GridCacheContext.java      |   4 +-
 .../processors/cache/GridCacheIoManager.java    |  12 +-
 .../GridDistributedTxFinishRequest.java         |  11 +-
 .../GridDistributedTxPrepareRequest.java        |   9 +-
 .../GridDistributedTxRemoteAdapter.java         |   2 +-
 .../distributed/dht/GridDhtTxFinishRequest.java |   2 +-
 .../cache/distributed/dht/GridDhtTxLocal.java   |   2 +-
 .../distributed/dht/GridDhtTxLocalAdapter.java  |   2 +-
 .../cache/distributed/dht/GridDhtTxRemote.java  |   4 +-
 .../near/GridNearTxFinishRequest.java           |   2 +-
 .../cache/distributed/near/GridNearTxLocal.java |   2 +-
 .../distributed/near/GridNearTxRemote.java      |   4 +-
 .../cache/transactions/IgniteInternalTx.java    |   2 +-
 .../cache/transactions/IgniteTxAdapter.java     |  10 +-
 .../transactions/IgniteTxLocalAdapter.java      |   2 +-
 .../internal/processors/igfs/IgfsContext.java   |   5 +-
 .../plugin/IgnitePluginProcessor.java           |   2 +-
 .../communication/IoPoolExtension.java          |  47 +++++++
 .../communication/GridIoManagerSelfTest.java    |   2 +-
 .../cache/IgniteInternalCacheTypesTest.java     |   3 +-
 25 files changed, 220 insertions(+), 103 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e428f424/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
----------------------------------------------------------------------


[27/32] incubator-ignite git commit: #ignite-18: Property segmentationResolveAttempts seems to be ignored.

Posted by sb...@apache.org.
#ignite-18: Property segmentationResolveAttempts seems to be ignored.


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

Branch: refs/heads/ignite-gg-10298
Commit: 1d5cfbcc6ef79dd8da99dc46a2797952dbcf4eab
Parents: 5dff89c
Author: ivasilinets <iv...@gridgain.com>
Authored: Mon Jun 29 17:50:49 2015 +0300
Committer: ivasilinets <iv...@gridgain.com>
Committed: Mon Jun 29 17:50:49 2015 +0300

----------------------------------------------------------------------
 .../internal/managers/discovery/GridDiscoveryManager.java      | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1d5cfbcc/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index 1e4b972..5e7600f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@ -326,6 +326,12 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
                 U.warn(log, "Configuration parameter 'segmentCheckFrequency' is too low " +
                     "(at least 2000 ms recommended): " + segChkFreq);
 
+            int segResAttemp = ctx.config().getSegmentationResolveAttempts();
+
+            if (segResAttemp < 1)
+                throw new IgniteCheckedException(
+                    "Segment resolve attempts cannot be negative or zero: " + segResAttemp);
+
             checkSegmentOnStart();
         }
 


[06/32] incubator-ignite git commit: Merge branches 'ignite-gg-10457' and 'ignite-sprint-7' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-gg-10457

Posted by sb...@apache.org.
Merge branches 'ignite-gg-10457' and 'ignite-sprint-7' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-gg-10457


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

Branch: refs/heads/ignite-gg-10298
Commit: 3270622211a78ae270971ab856f2eed4437c07ff
Parents: 60c4d65 e1c49b7
Author: AKuznetsov <ak...@gridgain.com>
Authored: Thu Jun 25 22:51:31 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Thu Jun 25 22:51:31 2015 +0700

----------------------------------------------------------------------
 .../ClientAbstractConnectivitySelfTest.java     |   4 +-
 .../org/apache/ignite/cluster/ClusterGroup.java |   9 +
 .../org/apache/ignite/cluster/ClusterNode.java  |   2 +
 .../ignite/compute/ComputeTaskSplitAdapter.java |   2 +-
 .../ignite/internal/GridKernalContextImpl.java  |   3 +
 .../internal/cluster/ClusterGroupAdapter.java   |  38 +
 .../cluster/IgniteClusterAsyncImpl.java         |   5 +
 .../processors/cache/GridCacheContext.java      |   2 +-
 .../distributed/dht/GridDhtLockFuture.java      |   2 +-
 .../GridDhtPartitionsExchangeFuture.java        |  46 +-
 .../datastructures/DataStructuresProcessor.java |  64 +-
 .../processors/plugin/CachePluginManager.java   |  10 +-
 .../internal/util/GridConfigurationFinder.java  |  55 +-
 .../ignite/internal/util/IgniteUtils.java       |   6 +-
 .../internal/ClusterForHostsSelfTest.java       | 113 +++
 .../internal/ClusterGroupAbstractTest.java      | 777 ++++++++++++++++++
 .../ignite/internal/ClusterGroupSelfTest.java   | 251 ++++++
 .../internal/GridProjectionAbstractTest.java    | 784 -------------------
 .../ignite/internal/GridProjectionSelfTest.java | 251 ------
 .../apache/ignite/internal/GridSelfTest.java    |   2 +-
 .../CacheReadThroughAtomicRestartSelfTest.java  |  32 +
 ...heReadThroughLocalAtomicRestartSelfTest.java |  32 +
 .../CacheReadThroughLocalRestartSelfTest.java   |  32 +
 ...dThroughReplicatedAtomicRestartSelfTest.java |  32 +
 ...cheReadThroughReplicatedRestartSelfTest.java |  32 +
 .../cache/CacheReadThroughRestartSelfTest.java  | 133 ++++
 .../cache/GridCacheAbstractSelfTest.java        |   2 +-
 ...eDynamicCacheStartNoExchangeTimeoutTest.java | 466 +++++++++++
 .../cache/IgniteDynamicCacheStartSelfTest.java  |  37 +
 ...GridCacheQueueMultiNodeAbstractSelfTest.java |   4 +-
 .../GridCacheSetAbstractSelfTest.java           |  22 +-
 .../IgniteDataStructureWithJobTest.java         | 111 +++
 .../distributed/IgniteCache150ClientsTest.java  | 189 +++++
 ...teCacheClientNodePartitionsExchangeTest.java |   1 +
 .../distributed/IgniteCacheManyClientsTest.java |   1 +
 ...idCacheNearOnlyMultiNodeFullApiSelfTest.java |   5 -
 ...achePartitionedMultiNodeFullApiSelfTest.java |  49 +-
 .../IgniteCacheTxStoreSessionTest.java          |   4 +
 .../internal/util/IgniteUtilsSelfTest.java      |  22 +
 .../ignite/testsuites/IgniteBasicTestSuite.java |   6 +-
 .../IgniteCacheDataStructuresSelfTestSuite.java |   1 +
 .../testsuites/IgniteCacheTestSuite4.java       |   8 +
 .../testsuites/IgniteClientTestSuite.java       |  38 +
 .../p2p/GridP2PContinuousDeploymentTask1.java   |   2 +-
 .../commands/cache/VisorCacheCommand.scala      |   7 +-
 45 files changed, 2535 insertions(+), 1159 deletions(-)
----------------------------------------------------------------------



[16/32] incubator-ignite git commit: Merge remote-tracking branch 'origin/ignite-sprint-7' into ignite-sprint-7

Posted by sb...@apache.org.
Merge remote-tracking branch 'origin/ignite-sprint-7' into ignite-sprint-7


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

Branch: refs/heads/ignite-gg-10298
Commit: 70238a6254388fa3889d5cf31b5bda5dac11a100
Parents: 5fb9f2f 50a4626
Author: ashutak <as...@gridgain.com>
Authored: Fri Jun 26 17:55:31 2015 +0300
Committer: ashutak <as...@gridgain.com>
Committed: Fri Jun 26 17:55:31 2015 +0300

----------------------------------------------------------------------
 .../processors/rest/GridRestProcessor.java      |  4 ++-
 .../handlers/task/GridTaskCommandHandler.java   | 12 ++++---
 .../processors/task/GridTaskWorker.java         |  4 ++-
 .../visor/query/VisorQueryCleanupTask.java      | 14 +++++++++
 .../util/VisorClusterGroupEmptyException.java   | 33 ++++++++++++++++++++
 5 files changed, 61 insertions(+), 6 deletions(-)
----------------------------------------------------------------------



[17/32] incubator-ignite git commit: # ignite-1006: review

Posted by sb...@apache.org.
# ignite-1006: review


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

Branch: refs/heads/ignite-gg-10298
Commit: 8fd909d98505fe3964bcf756e8bec42888c1164c
Parents: a8232be
Author: ashutak <as...@gridgain.com>
Authored: Fri Jun 26 18:01:53 2015 +0300
Committer: ashutak <as...@gridgain.com>
Committed: Fri Jun 26 18:01:53 2015 +0300

----------------------------------------------------------------------
 .../internal/cluster/ClusterGroupAdapter.java   |  12 +-
 .../internal/ClusterForHostsSelfTest.java       | 113 ---------------
 .../internal/ClusterGroupHostsSelfTest.java     | 141 +++++++++++++++++++
 .../ignite/internal/ClusterGroupSelfTest.java   |  22 ---
 .../ignite/testsuites/IgniteBasicTestSuite.java |   2 +-
 5 files changed, 146 insertions(+), 144 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8fd909d9/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
index b770d98..4b61116 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
@@ -296,16 +296,12 @@ public class ClusterGroupAdapter implements ClusterGroupEx, Externalizable {
 
     /** {@inheritDoc} */
     @Override public Collection<String> hostNames() {
-        Collection<String> resultHostNames = new HashSet<String> ();
-        Collection<ClusterNode> allNodes = nodes();
+        Set<String> res = new HashSet<>();
 
-        if (!(allNodes.isEmpty()))
-        {
-            for (ClusterNode currentNode : allNodes)
-                Collections.addAll(resultHostNames, currentNode.hostNames().toArray(new String[0]));
-        }
+        for (ClusterNode node : nodes())
+            res.addAll(node.hostNames());
 
-        return resultHostNames;
+        return Collections.unmodifiableSet(res);
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8fd909d9/modules/core/src/test/java/org/apache/ignite/internal/ClusterForHostsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/ClusterForHostsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/ClusterForHostsSelfTest.java
deleted file mode 100644
index 59c3db9..0000000
--- a/modules/core/src/test/java/org/apache/ignite/internal/ClusterForHostsSelfTest.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.testframework.junits.common.*;
-
-import java.lang.reflect.*;
-import java.util.*;
-
-/**
- * Test for {@link ClusterGroup#forHost(String, String...)}.
- *
- * @see GridProjectionSelfTest
- */
-@GridCommonTest(group = "Kernal Self")
-public class ClusterForHostsSelfTest extends GridCommonAbstractTest {
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
-        Collection<String> hostNames = null;
-
-        if ("forHostTest".equals(gridName))
-            hostNames = Arrays.asList("h_1", "h_2", "h_3");
-
-        IgniteConfiguration cfg = super.getConfiguration(gridName);
-
-        if (hostNames != null) {
-            TcpDiscoverySpi disco = (TcpDiscoverySpi)cfg.getDiscoverySpi();
-
-            cfg.setDiscoverySpi(new CustomHostsTcpDiscoverySpi(hostNames).setIpFinder(disco.getIpFinder()));
-        }
-
-        return cfg;
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testForHosts() throws Exception {
-        Ignite ignite = startGrid("forHostTest");
-
-        assertEquals(1, ignite.cluster().forHost("h_1").nodes().size());
-        assertEquals(1, ignite.cluster().forHost("h_1", "h_3").nodes().size());
-        assertEquals(1, ignite.cluster().forHost("unknown_host", "h_2").nodes().size());
-        assertEquals(1, ignite.cluster().forHost("h_1", "h_3", "unknown_host", "h_2").nodes().size());
-
-        assertEquals(0, ignite.cluster().forHost("unknown_host").nodes().size());
-
-        boolean gotNpe = false;
-
-        try {
-            assertEquals(0, ignite.cluster().forHost(null, null, null).nodes().size());
-        }
-        catch (NullPointerException e) {
-            gotNpe = true;
-        }
-
-        assertTrue(gotNpe);
-    }
-
-    /**
-     * Tcp discovery spi that allow to customise hostNames of created local node.
-     */
-    private static class CustomHostsTcpDiscoverySpi extends TcpDiscoverySpi {
-        /** Hosts. */
-        private final Collection<String> hosts;
-
-        /**
-         * @param hosts Host names which will be retuned by {@link ClusterNode#hostNames()} of created local node.
-         */
-        CustomHostsTcpDiscoverySpi(Collection<String> hosts) {
-            this.hosts = hosts;
-        }
-
-        /**
-         * @param srvPort Server port.
-         */
-        @Override protected void initLocalNode(int srvPort, boolean addExtAddrAttr) {
-            super.initLocalNode(srvPort, addExtAddrAttr);
-
-            try {
-                Field hostNamesField = locNode.getClass().getDeclaredField("hostNames");
-
-                hostNamesField.setAccessible(true);
-
-                hostNamesField.set(locNode, hosts);
-            }
-            catch (IllegalAccessException | NoSuchFieldException e) {
-                U.error(log, "Looks like implementation of " + locNode.getClass()
-                    + " class was changed. Need to update test.", e);
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8fd909d9/modules/core/src/test/java/org/apache/ignite/internal/ClusterGroupHostsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/ClusterGroupHostsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/ClusterGroupHostsSelfTest.java
new file mode 100644
index 0000000..297a590
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/ClusterGroupHostsSelfTest.java
@@ -0,0 +1,141 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.internal.util.typedef.*;
+import org.apache.ignite.internal.util.typedef.internal.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.testframework.junits.common.*;
+
+import java.lang.reflect.*;
+import java.util.*;
+
+/**
+ * Test for {@link ClusterGroup#forHost(String, String...)}.
+ *
+ * @see ClusterGroupSelfTest
+ */
+@GridCommonTest(group = "Kernal Self")
+public class ClusterGroupHostsSelfTest extends GridCommonAbstractTest {
+    /** {@inheritDoc} */
+    @Override protected void beforeTestsStarted() throws Exception {
+        super.beforeTestsStarted();
+
+        startGrid();
+    }
+
+    /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+        Collection<String> hostNames = Arrays.asList("h_1", "h_2", "h_3");
+
+        IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+        TcpDiscoverySpi disco = (TcpDiscoverySpi)cfg.getDiscoverySpi();
+
+        cfg.setDiscoverySpi(new CustomHostsTcpDiscoverySpi(hostNames).setIpFinder(disco.getIpFinder()));
+
+        return cfg;
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testForHosts() throws Exception {
+        Ignite ignite = grid();
+
+        assertEquals(1, ignite.cluster().forHost("h_1").nodes().size());
+        assertEquals(1, ignite.cluster().forHost("h_1", "h_3").nodes().size());
+        assertEquals(1, ignite.cluster().forHost("unknown_host", "h_2").nodes().size());
+        assertEquals(1, ignite.cluster().forHost("h_1", "h_3", "unknown_host", "h_2").nodes().size());
+
+        assertEquals(0, ignite.cluster().forHost("unknown_host").nodes().size());
+
+        boolean gotNpe = false;
+
+        try {
+            assertEquals(0, ignite.cluster().forHost(null, null, null).nodes().size());
+        }
+        catch (NullPointerException e) {
+            gotNpe = true;
+        }
+        finally {
+            assertTrue(gotNpe);
+        }
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testHostNames() throws Exception {
+        Ignite ignite = grid();
+
+        Collection<String> locNodeHosts = ignite.cluster().localNode().hostNames();
+        Collection<String> clusterHosts = ignite.cluster().hostNames();
+
+        assertTrue(F.eqNotOrdered(locNodeHosts, clusterHosts));
+
+        boolean gotNpe = false;
+
+        try {
+            clusterHosts.add("valueShouldNotToBeAdded");
+        }
+        catch (UnsupportedOperationException e) {
+            gotNpe = true;
+        }
+        finally {
+            assertTrue(gotNpe);
+        }
+    }
+
+    /**
+     * Tcp discovery spi that allow to customise hostNames of created local node.
+     */
+    private static class CustomHostsTcpDiscoverySpi extends TcpDiscoverySpi {
+        /** Hosts. */
+        private final Collection<String> hosts;
+
+        /**
+         * @param hosts Host names which will be retuned by {@link ClusterNode#hostNames()} of created local node.
+         */
+        CustomHostsTcpDiscoverySpi(Collection<String> hosts) {
+            this.hosts = hosts;
+        }
+
+        /**
+         * @param srvPort Server port.
+         */
+        @Override protected void initLocalNode(int srvPort, boolean addExtAddrAttr) {
+            super.initLocalNode(srvPort, addExtAddrAttr);
+
+            try {
+                Field hostNamesField = locNode.getClass().getDeclaredField("hostNames");
+
+                hostNamesField.setAccessible(true);
+
+                hostNamesField.set(locNode, hosts);
+            }
+            catch (IllegalAccessException | NoSuchFieldException e) {
+                U.error(log, "Looks like implementation of " + locNode.getClass()
+                    + " class was changed. Need to update test.", e);
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8fd909d9/modules/core/src/test/java/org/apache/ignite/internal/ClusterGroupSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/ClusterGroupSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/ClusterGroupSelfTest.java
index 37a6e72..ceb9bef 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/ClusterGroupSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/ClusterGroupSelfTest.java
@@ -248,26 +248,4 @@ public class ClusterGroupSelfTest extends ClusterGroupAbstractTest {
 
         return even ? cnt - 1 : cnt - 2;
     }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testHostNames() throws Exception {
-        Collection<String> inputHostNames = ignite.cluster().hostNames();
-        Collection<String> localNodeHostNames = ignite.cluster().localNode().hostNames();
-        Collection<String> randomNodeHostNames = ignite.cluster().forRandom().node().hostNames();
-        Collection<ClusterNode> allNodes = ignite.cluster().nodes();
-        Collection<String> checkHostNames = new HashSet<String> ();
-
-        for (ClusterNode currentNode : allNodes)
-            Collections.addAll(checkHostNames, currentNode.hostNames().toArray(new String[0]));
-
-        assert(checkHostNames.equals(inputHostNames));
-
-        if (!(localNodeHostNames.isEmpty()) && !(inputHostNames.isEmpty()))
-            assert((inputHostNames.containsAll(localNodeHostNames)) == true);
-
-        if (!(randomNodeHostNames.isEmpty()) && !(inputHostNames.isEmpty()))
-            assert((inputHostNames.containsAll(randomNodeHostNames)) == true);
-    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8fd909d9/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
index 6ff83e2..19c1932 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
@@ -65,7 +65,7 @@ public class IgniteBasicTestSuite extends TestSuite {
         suite.addTest(IgniteStreamSelfTestSuite.suite());
 
         suite.addTest(new TestSuite(GridSelfTest.class));
-        suite.addTest(new TestSuite(ClusterForHostsSelfTest.class));
+        suite.addTest(new TestSuite(ClusterGroupHostsSelfTest.class));
         suite.addTest(new TestSuite(IgniteMessagingWithClientTest.class));
 
         GridTestUtils.addTestIfNeeded(suite, ClusterGroupSelfTest.class, ignoredTests);


[15/32] incubator-ignite git commit: Merge branch 'ignite-1017' into ignite-sprint-7

Posted by sb...@apache.org.
Merge branch 'ignite-1017' into ignite-sprint-7


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

Branch: refs/heads/ignite-gg-10298
Commit: 5fb9f2fc14e51ce96bc884acf4e169d7dcc43fe8
Parents: 6e23608 5d09ed1
Author: ashutak <as...@gridgain.com>
Authored: Fri Jun 26 17:55:04 2015 +0300
Committer: ashutak <as...@gridgain.com>
Committed: Fri Jun 26 17:55:04 2015 +0300

----------------------------------------------------------------------
 .../core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java | 2 +-
 .../org/apache/ignite/internal/cluster/ClusterGroupAdapter.java    | 2 +-
 .../org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------



[14/32] incubator-ignite git commit: # ignite-1017: review

Posted by sb...@apache.org.
# ignite-1017: review


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

Branch: refs/heads/ignite-gg-10298
Commit: 5d09ed1b3d295efb0670aaa943a0c3eb9c3a7267
Parents: 5b237e1
Author: ashutak <as...@gridgain.com>
Authored: Fri Jun 26 17:53:22 2015 +0300
Committer: ashutak <as...@gridgain.com>
Committed: Fri Jun 26 17:53:22 2015 +0300

----------------------------------------------------------------------
 .../org/apache/ignite/cluster/ClusterGroup.java     | 16 ----------------
 .../internal/cluster/ClusterGroupAdapter.java       |  7 -------
 .../internal/cluster/IgniteClusterAsyncImpl.java    |  5 -----
 3 files changed, 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5d09ed1b/modules/core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java b/modules/core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java
index 9627f76..62f3027 100644
--- a/modules/core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java
+++ b/modules/core/src/main/java/org/apache/ignite/cluster/ClusterGroup.java
@@ -131,22 +131,6 @@ public interface ClusterGroup {
      * @param name Name of the attribute.
      * @param val Optional attribute value to match.
      * @return Cluster group for nodes containing specified attribute.
-     *
-     * @deprecated use {@link ClusterGroup#forAttribute(String name, @Nullable Object val}
-     */
-    public ClusterGroup forAttribute(String name, @Nullable String val);
-
-    /**
-     * Creates a new cluster group for nodes containing given name and value
-     * specified in user attributes.
-     * <p>
-     * User attributes for every node are optional and can be specified in
-     * grid node configuration. See {@link IgniteConfiguration#getUserAttributes()}
-     * for more information.
-     *
-     * @param name Name of the attribute.
-     * @param val Optional attribute value to match.
-     * @return Cluster group for nodes containing specified attribute.
      */
     public ClusterGroup forAttribute(String name, @Nullable Object val);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5d09ed1b/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
index 414f5ba..6c42067 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java
@@ -345,13 +345,6 @@ public class ClusterGroupAdapter implements ClusterGroupEx, Externalizable {
     }
 
     /** {@inheritDoc} */
-    @Override public final ClusterGroup forAttribute(String name, @Nullable final String val) {
-        A.notNull(name, "n");
-
-        return forPredicate(new AttributeFilter(name, val));
-    }
-
-    /** {@inheritDoc} */
     @Override public final ClusterGroup forAttribute(String name, @Nullable final Object val) {
         A.notNull(name, "n");
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5d09ed1b/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java
index f676261..01c62b7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterAsyncImpl.java
@@ -192,11 +192,6 @@ public class IgniteClusterAsyncImpl extends AsyncSupportAdapter<IgniteCluster>
     }
 
     /** {@inheritDoc} */
-    @Override public ClusterGroup forAttribute(String name, @Nullable String val) {
-        return cluster.forAttribute(name, val);
-    }
-
-    /** {@inheritDoc} */
     @Override public ClusterGroup forAttribute(String name, @Nullable Object val) {
         return cluster.forAttribute(name, val);
     }


[12/32] incubator-ignite git commit: Merge branches 'ignite-gg-10404' and 'ignite-sprint-7' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-gg-10404

Posted by sb...@apache.org.
Merge branches 'ignite-gg-10404' and 'ignite-sprint-7' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-gg-10404


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

Branch: refs/heads/ignite-gg-10298
Commit: 50a4626439afcf9c8113476da0a425d35409f153
Parents: c62c410 6e23608
Author: AKuznetsov <ak...@gridgain.com>
Authored: Fri Jun 26 20:53:15 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Fri Jun 26 20:53:15 2015 +0700

----------------------------------------------------------------------
 RELEASE_NOTES.txt                               |  12 +
 examples/pom.xml                                |   2 +-
 modules/aop/pom.xml                             |   2 +-
 modules/aws/pom.xml                             |   2 +-
 .../s3/S3CheckpointManagerSelfTest.java         |   2 +-
 .../checkpoint/s3/S3CheckpointSpiSelfTest.java  |   4 +-
 .../s3/S3CheckpointSpiStartStopSelfTest.java    |   2 +-
 .../s3/S3SessionCheckpointSelfTest.java         |   2 +-
 .../s3/TcpDiscoveryS3IpFinderSelfTest.java      |   2 +-
 modules/clients/pom.xml                         |   2 +-
 .../ClientAbstractConnectivitySelfTest.java     |   4 +-
 modules/cloud/pom.xml                           |   2 +-
 modules/codegen/pom.xml                         |   2 +-
 modules/core/pom.xml                            |   2 +-
 .../apache/ignite/IgniteSystemProperties.java   |   3 +
 .../apache/ignite/cache/query/ScanQuery.java    |  23 +-
 .../cache/store/jdbc/CacheJdbcBlobStore.java    |  22 +-
 .../store/jdbc/CacheJdbcBlobStoreFactory.java   | 290 +++++++
 .../cache/store/jdbc/CacheJdbcPojoStore.java    |   6 +-
 .../store/jdbc/CacheJdbcPojoStoreFactory.java   | 148 ++++
 .../org/apache/ignite/cluster/ClusterGroup.java |   9 +
 .../org/apache/ignite/cluster/ClusterNode.java  |   2 +
 .../ignite/compute/ComputeTaskSplitAdapter.java |   2 +-
 .../configuration/CacheConfiguration.java       |   3 +-
 .../configuration/IgniteReflectionFactory.java  |  81 +-
 .../ignite/internal/GridKernalContextImpl.java  |   8 +-
 .../apache/ignite/internal/IgniteKernal.java    |  11 +-
 .../internal/MarshallerContextAdapter.java      |  18 +-
 .../ignite/internal/MarshallerContextImpl.java  |  26 +-
 .../client/GridClientConfiguration.java         |   2 +-
 .../GridClientOptimizedMarshaller.java          |  26 +
 .../impl/GridTcpRouterNioListenerAdapter.java   |   2 +-
 .../internal/cluster/ClusterGroupAdapter.java   |  38 +
 .../cluster/IgniteClusterAsyncImpl.java         |   5 +
 .../internal/interop/InteropBootstrap.java      |   3 +-
 .../internal/interop/InteropIgnition.java       |   5 +-
 .../internal/managers/GridManagerAdapter.java   |   8 +-
 .../discovery/GridDiscoveryManager.java         |  39 +-
 .../affinity/AffinityTopologyVersion.java       |   7 -
 .../processors/cache/GridCacheAdapter.java      |   4 +
 .../processors/cache/GridCacheContext.java      |   2 +-
 .../processors/cache/GridCacheIoManager.java    |  64 +-
 .../GridCachePartitionExchangeManager.java      |  77 +-
 .../processors/cache/GridCacheProcessor.java    |  34 +-
 .../processors/cache/GridCacheSwapManager.java  |  12 +-
 .../processors/cache/GridCacheUtils.java        |   9 +
 .../processors/cache/IgniteCacheProxy.java      |  12 +
 .../distributed/GridCacheTxRecoveryRequest.java |  26 +-
 .../GridCacheTxRecoveryResponse.java            |  14 +-
 .../distributed/GridDistributedBaseMessage.java |  77 +-
 .../distributed/GridDistributedLockRequest.java |  54 +-
 .../GridDistributedLockResponse.java            |  14 +-
 .../GridDistributedTxFinishRequest.java         |  46 +-
 .../GridDistributedTxPrepareRequest.java        |  62 +-
 .../GridDistributedTxPrepareResponse.java       |  64 +-
 .../GridDistributedUnlockRequest.java           |   6 +-
 .../distributed/dht/GridDhtLocalPartition.java  |  59 +-
 .../distributed/dht/GridDhtLockFuture.java      |   2 +-
 .../distributed/dht/GridDhtLockRequest.java     |  72 +-
 .../distributed/dht/GridDhtLockResponse.java    |  18 +-
 .../dht/GridDhtPartitionTopologyImpl.java       |   4 +-
 .../dht/GridDhtPartitionsReservation.java       | 292 +++++++
 .../dht/GridDhtTransactionalCacheAdapter.java   |   2 +-
 .../distributed/dht/GridDhtTxFinishRequest.java |  38 +-
 .../dht/GridDhtTxPrepareRequest.java            |  54 +-
 .../dht/GridDhtTxPrepareResponse.java           |  22 +-
 .../distributed/dht/GridDhtUnlockRequest.java   |   6 +-
 .../cache/distributed/dht/GridReservable.java   |  35 +
 .../dht/atomic/GridDhtAtomicCache.java          |   9 +-
 .../dht/preloader/GridDhtPartitionMap.java      |  26 +-
 .../GridDhtPartitionsExchangeFuture.java        |  95 ++-
 .../dht/preloader/GridDhtPreloader.java         |   2 +-
 .../distributed/near/GridNearLockRequest.java   |  58 +-
 .../distributed/near/GridNearLockResponse.java  |  26 +-
 .../near/GridNearTxFinishRequest.java           |  26 +-
 .../near/GridNearTxPrepareRequest.java          |  50 +-
 .../near/GridNearTxPrepareResponse.java         |  46 +-
 .../distributed/near/GridNearUnlockRequest.java |   2 +-
 .../cache/query/GridCacheQueryManager.java      |  33 -
 .../cache/query/GridCacheTwoStepQuery.java      |  22 +-
 .../continuous/CacheContinuousQueryHandler.java |   8 +
 .../cache/transactions/IgniteTxHandler.java     |   5 +-
 .../transactions/IgniteTxLocalAdapter.java      |  12 +-
 .../datastructures/DataStructuresProcessor.java | 129 +--
 .../dr/IgniteDrDataStreamerCacheUpdater.java    |   7 +-
 .../processors/hadoop/HadoopJobInfo.java        |   4 +-
 .../hadoop/counter/HadoopCounterWriter.java     |   5 +-
 .../offheap/GridOffHeapProcessor.java           |  19 +-
 .../processors/plugin/CachePluginManager.java   |  10 +-
 .../plugin/IgnitePluginProcessor.java           |  16 +-
 .../processors/query/GridQueryIndexing.java     |  14 +-
 .../processors/query/GridQueryProcessor.java    | 123 ++-
 .../messages/GridQueryNextPageResponse.java     |  35 +-
 .../h2/twostep/messages/GridQueryRequest.java   | 111 ++-
 .../rest/client/message/GridRouterRequest.java  |  18 +
 .../rest/client/message/GridRouterResponse.java |  18 +
 .../rest/protocols/tcp/GridTcpRestProtocol.java |   3 +-
 .../processors/task/GridTaskProcessor.java      |  23 +-
 .../internal/util/GridConfigurationFinder.java  |  55 +-
 .../apache/ignite/internal/util/GridDebug.java  |  48 +-
 .../ignite/internal/util/IgniteUtils.java       |  27 +-
 .../ignite/internal/util/nio/GridNioServer.java |  64 +-
 .../util/spring/IgniteSpringHelper.java         |  10 +
 .../SpringApplicationContextResource.java       |   4 +-
 .../apache/ignite/resources/SpringResource.java |   6 +-
 .../org/apache/ignite/spi/IgniteSpiAdapter.java |  35 +-
 .../org/apache/ignite/spi/IgniteSpiContext.java |   9 +-
 .../communication/tcp/TcpCommunicationSpi.java  | 148 +++-
 .../tcp/TcpCommunicationSpiMBean.java           |  19 +
 .../ignite/spi/discovery/DiscoverySpi.java      |   3 +-
 .../ignite/spi/discovery/tcp/ClientImpl.java    | 657 +++++++++++-----
 .../ignite/spi/discovery/tcp/ServerImpl.java    | 376 ++++++---
 .../spi/discovery/tcp/TcpDiscoveryImpl.java     |  69 +-
 .../spi/discovery/tcp/TcpDiscoverySpi.java      |  51 +-
 .../tcp/internal/TcpDiscoveryNode.java          |  18 +
 .../ipfinder/TcpDiscoveryIpFinderAdapter.java   |  34 +-
 .../TcpDiscoveryMulticastIpFinder.java          |  19 +-
 .../messages/TcpDiscoveryAbstractMessage.java   |  10 +-
 .../messages/TcpDiscoveryNodeFailedMessage.java |  18 +
 .../core/src/main/resources/ignite.properties   |   2 +-
 .../internal/ClusterForHostsSelfTest.java       | 113 +++
 .../internal/ClusterGroupAbstractTest.java      | 777 ++++++++++++++++++
 .../ignite/internal/ClusterGroupSelfTest.java   | 251 ++++++
 .../internal/GridDiscoveryEventSelfTest.java    |  12 +-
 ...ridFailFastNodeFailureDetectionSelfTest.java |  17 +-
 .../internal/GridProjectionAbstractTest.java    | 784 -------------------
 .../ignite/internal/GridProjectionSelfTest.java | 251 ------
 .../apache/ignite/internal/GridSelfTest.java    |  30 +-
 .../GridTaskFailoverAffinityRunTest.java        | 170 ++++
 .../IgniteSlowClientDetectionSelfTest.java      | 187 +++++
 .../GridDiscoveryManagerAliveCacheSelfTest.java |  17 +-
 .../cache/CacheClientStoreSelfTest.java         | 228 ++++++
 ...acheReadOnlyTransactionalClientSelfTest.java | 327 --------
 .../CacheReadThroughAtomicRestartSelfTest.java  |  32 +
 ...heReadThroughLocalAtomicRestartSelfTest.java |  32 +
 .../CacheReadThroughLocalRestartSelfTest.java   |  32 +
 ...dThroughReplicatedAtomicRestartSelfTest.java |  32 +
 ...cheReadThroughReplicatedRestartSelfTest.java |  32 +
 .../cache/CacheReadThroughRestartSelfTest.java  | 133 ++++
 .../CacheStoreUsageMultinodeAbstractTest.java   | 305 ++++++++
 ...eUsageMultinodeDynamicStartAbstractTest.java | 169 ++++
 ...oreUsageMultinodeDynamicStartAtomicTest.java |  32 +
 ...heStoreUsageMultinodeDynamicStartTxTest.java |  32 +
 ...reUsageMultinodeStaticStartAbstractTest.java | 158 ++++
 ...toreUsageMultinodeStaticStartAtomicTest.java |  32 +
 ...cheStoreUsageMultinodeStaticStartTxTest.java |  32 +
 .../GridCacheAbstractFailoverSelfTest.java      |   8 +-
 .../cache/GridCacheAbstractFullApiSelfTest.java |  24 +-
 .../cache/GridCacheAbstractSelfTest.java        |   2 +-
 .../cache/GridCacheDaemonNodeStopSelfTest.java  | 119 +++
 ...ridCacheMultinodeUpdateAbstractSelfTest.java |   9 +
 .../cache/GridCachePutAllFailoverSelfTest.java  |   5 -
 .../cache/GridCacheVersionMultinodeTest.java    |   8 +-
 .../IgniteCacheAbstractStopBusySelfTest.java    |  30 +-
 .../IgniteCacheAtomicStopBusySelfTest.java      |   8 +-
 ...CacheP2pUnmarshallingRebalanceErrorTest.java |  15 +-
 .../IgniteCacheP2pUnmarshallingTxErrorTest.java |  25 +-
 ...gniteCacheTransactionalStopBusySelfTest.java |   8 +-
 ...eDynamicCacheStartNoExchangeTimeoutTest.java | 466 +++++++++++
 .../cache/IgniteDynamicCacheStartSelfTest.java  |  37 +
 ...GridCacheQueueMultiNodeAbstractSelfTest.java |   4 +-
 .../GridCacheSetAbstractSelfTest.java           |  22 +-
 .../IgniteDataStructureWithJobTest.java         | 111 +++
 ...ridCachePartitionNotLoadedEventSelfTest.java |  82 ++
 .../distributed/IgniteCache150ClientsTest.java  | 189 +++++
 .../IgniteCacheClientNodeConcurrentStart.java   |  14 +-
 ...teCacheClientNodePartitionsExchangeTest.java |   1 +
 .../distributed/IgniteCacheManyClientsTest.java | 191 ++++-
 .../IgniteCacheTxMessageRecoveryTest.java       |   5 +
 .../dht/GridCacheColocatedFailoverSelfTest.java |   5 -
 ...idCacheNearOnlyMultiNodeFullApiSelfTest.java |   5 -
 .../GridCachePartitionedFailoverSelfTest.java   |   5 -
 ...achePartitionedMultiNodeFullApiSelfTest.java |  53 +-
 .../GridCachePartitionedTxSalvageSelfTest.java  |  37 +-
 .../GridCacheReplicatedFailoverSelfTest.java    |   2 +-
 .../IgniteCacheTxStoreSessionTest.java          |   4 +
 ...CacheClientWriteBehindStoreAbstractTest.java | 104 +++
 ...teCacheClientWriteBehindStoreAtomicTest.java |  38 +
 .../IgnteCacheClientWriteBehindStoreTxTest.java |  32 +
 .../DataStreamProcessorSelfTest.java            |   3 +-
 .../DataStreamerMultiThreadedSelfTest.java      |   3 +
 .../internal/util/IgniteUtilsSelfTest.java      |  22 +
 .../marshaller/MarshallerContextTestImpl.java   |  18 +
 .../GridTcpCommunicationSpiConfigSelfTest.java  |   1 -
 .../tcp/TcpClientDiscoverySpiSelfTest.java      | 338 +++++++-
 .../spi/discovery/tcp/TcpDiscoverySelfTest.java |  44 +-
 .../testframework/GridSpiTestContext.java       |   7 +-
 .../testframework/junits/GridAbstractTest.java  |   2 +-
 .../junits/GridTestKernalContext.java           |   3 +-
 .../junits/common/GridCommonAbstractTest.java   |  15 +-
 .../ignite/testsuites/IgniteBasicTestSuite.java |   7 +-
 .../IgniteCacheDataStructuresSelfTestSuite.java |   1 +
 .../IgniteCacheFailoverTestSuite.java           |   8 -
 .../IgniteCacheFailoverTestSuite2.java          |  47 ++
 .../ignite/testsuites/IgniteCacheTestSuite.java |   4 +-
 .../testsuites/IgniteCacheTestSuite3.java       |   1 +
 .../testsuites/IgniteCacheTestSuite4.java       |  18 +-
 .../IgniteCacheWriteBehindTestSuite.java        |   2 +
 .../testsuites/IgniteClientTestSuite.java       |  38 +
 .../testsuites/IgniteComputeGridTestSuite.java  |   1 +
 .../testsuites/IgniteKernalSelfTestSuite.java   |   2 +-
 .../ignite/util/TestTcpCommunicationSpi.java    |  21 +
 modules/extdata/p2p/pom.xml                     |   2 +-
 .../p2p/GridP2PContinuousDeploymentTask1.java   |   2 +-
 modules/extdata/uri/pom.xml                     |   2 +-
 modules/gce/pom.xml                             |   2 +-
 modules/geospatial/pom.xml                      |   2 +-
 modules/hadoop/pom.xml                          |  80 +-
 .../fs/IgniteHadoopFileSystemCounterWriter.java |   9 +-
 .../processors/hadoop/HadoopClassLoader.java    |  29 +
 .../processors/hadoop/HadoopDefaultJobInfo.java |  27 +-
 .../internal/processors/hadoop/HadoopUtils.java | 237 ------
 .../hadoop/SecondaryFileSystemProvider.java     |   3 +-
 .../hadoop/fs/HadoopFileSystemCacheUtils.java   | 241 ++++++
 .../hadoop/fs/HadoopFileSystemsUtils.java       |  11 +
 .../hadoop/fs/HadoopLazyConcurrentMap.java      |   5 +
 .../hadoop/jobtracker/HadoopJobTracker.java     |  25 +-
 .../child/HadoopChildProcessRunner.java         |   3 +-
 .../processors/hadoop/v2/HadoopV2Job.java       |  84 +-
 .../hadoop/v2/HadoopV2JobResourceManager.java   |  22 +-
 .../hadoop/v2/HadoopV2TaskContext.java          |  37 +-
 .../apache/ignite/igfs/IgfsEventsTestSuite.java |   5 +-
 .../processors/hadoop/HadoopMapReduceTest.java  |   2 +-
 .../processors/hadoop/HadoopTasksV1Test.java    |   7 +-
 .../processors/hadoop/HadoopTasksV2Test.java    |   7 +-
 .../processors/hadoop/HadoopV2JobSelfTest.java  |   6 +-
 .../collections/HadoopAbstractMapTest.java      |   3 +-
 .../testsuites/IgniteHadoopTestSuite.java       |   2 +-
 .../IgniteIgfsLinuxAndMacOSTestSuite.java       |   3 +-
 modules/hibernate/pom.xml                       |  16 +-
 .../hibernate/CacheHibernateBlobStore.java      |  87 +-
 .../CacheHibernateBlobStoreFactory.java         | 235 ++++++
 .../hibernate/src/test/config/factory-cache.xml |  59 ++
 .../src/test/config/factory-cache1.xml          |  61 ++
 .../config/factory-incorrect-store-cache.xml    |  56 ++
 .../CacheHibernateStoreFactorySelfTest.java     | 273 +++++++
 .../testsuites/IgniteHibernateTestSuite.java    |   2 +
 modules/indexing/pom.xml                        |   2 +-
 .../processors/query/h2/IgniteH2Indexing.java   |  81 +-
 .../query/h2/sql/GridSqlQuerySplitter.java      |  49 +-
 .../query/h2/twostep/GridMapQueryExecutor.java  | 321 ++++++--
 .../query/h2/twostep/GridMergeIndex.java        |  17 +-
 .../h2/twostep/GridMergeIndexUnsorted.java      |   7 +-
 .../h2/twostep/GridReduceQueryExecutor.java     | 650 ++++++++++++---
 .../query/h2/twostep/GridResultPage.java        |  21 +-
 .../CacheAbstractQueryMetricsSelfTest.java      | 205 +++++
 .../CachePartitionedQueryMetricsSelfTest.java   |  32 +
 .../CacheReplicatedQueryMetricsSelfTest.java    |  32 +
 .../cache/GridCacheCrossCacheQuerySelfTest.java |   3 +-
 .../cache/GridCacheQueryMetricsSelfTest.java    | 206 -----
 .../cache/IgniteCacheOffheapEvictQueryTest.java | 196 +++++
 .../IgniteCacheQueryMultiThreadedSelfTest.java  |   1 -
 ...QueryOffheapEvictsMultiThreadedSelfTest.java |   5 +
 ...lientQueryReplicatedNodeRestartSelfTest.java | 419 ++++++++++
 .../IgniteCacheQueryNodeRestartSelfTest.java    |  36 +-
 .../IgniteCacheQueryNodeRestartSelfTest2.java   | 383 +++++++++
 .../query/h2/sql/BaseH2CompareQueryTest.java    |   2 +-
 .../IgniteCacheQuerySelfTestSuite.java          |   9 +-
 modules/jcl/pom.xml                             |   2 +-
 modules/jta/pom.xml                             |   2 +-
 .../cache/jta/GridCacheXAResource.java          |  18 +-
 .../processors/cache/GridCacheJtaSelfTest.java  |   2 +-
 modules/log4j/pom.xml                           |   2 +-
 modules/mesos/pom.xml                           |   2 +-
 modules/rest-http/pom.xml                       |   2 +-
 modules/scalar-2.10/pom.xml                     |   2 +-
 modules/scalar/pom.xml                          |   2 +-
 modules/schedule/pom.xml                        |   2 +-
 modules/schema-import/pom.xml                   |   2 +-
 modules/slf4j/pom.xml                           |   2 +-
 modules/spark-2.10/pom.xml                      |   2 +-
 modules/spark/pom.xml                           |   2 +-
 modules/spring/pom.xml                          |   9 +-
 .../GridResourceSpringBeanInjector.java         |   2 +-
 .../util/spring/IgniteSpringHelperImpl.java     |  17 +
 .../src/test/config/incorrect-store-cache.xml   |  57 ++
 modules/spring/src/test/config/node.xml         |  43 +
 modules/spring/src/test/config/node1.xml        |  45 ++
 .../test/config/pojo-incorrect-store-cache.xml  |  56 ++
 modules/spring/src/test/config/store-cache.xml  |  59 ++
 modules/spring/src/test/config/store-cache1.xml |  62 ++
 .../jdbc/CacheJdbcBlobStoreFactorySelfTest.java | 172 ++++
 .../jdbc/CacheJdbcPojoStoreFactorySelfTest.java | 193 +++++
 .../testsuites/IgniteSpringTestSuite.java       |   5 +
 modules/ssh/pom.xml                             |   2 +-
 modules/tools/pom.xml                           |   2 +-
 .../ignite/tools/classgen/ClassesGenerator.java |  30 +-
 modules/urideploy/pom.xml                       |   2 +-
 modules/visor-console-2.10/pom.xml              |   2 +-
 modules/visor-console/pom.xml                   |   2 +-
 .../commands/cache/VisorCacheCommand.scala      |   7 +-
 modules/visor-plugins/pom.xml                   |   2 +-
 modules/web/pom.xml                             |   2 +-
 .../IgniteWebSessionSelfTestSuite.java          |   2 +-
 modules/yardstick/pom.xml                       |   2 +-
 pom.xml                                         |   2 +-
 scripts/git-patch-prop.sh                       |   2 +-
 297 files changed, 12522 insertions(+), 3763 deletions(-)
----------------------------------------------------------------------