#ignite-gg-9966: 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/4c99d6cd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/4c99d6cd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/4c99d6cd

Branch: refs/heads/ignite-639
Commit: 4c99d6cd179b2c805c0a1732c170e1a492463e0f
Parents: dfc3a01
Author: ivasilinets <ivasilin...@gridgain.com>
Authored: Fri Apr 3 18:08:37 2015 +0300
Committer: ivasilinets <ivasilin...@gridgain.com>
Committed: Fri Apr 3 18:08:37 2015 +0300

----------------------------------------------------------------------
 .../apache/ignite/internal/GridComponent.java   |  2 +-
 .../ignite/internal/GridKernalContextImpl.java  |  4 +-
 .../ignite/internal/GridPluginComponent.java    |  4 +-
 .../apache/ignite/internal/IgniteKernal.java    | 10 ++-
 .../internal/managers/GridManagerAdapter.java   |  6 +-
 .../processors/GridProcessorAdapter.java        |  2 +-
 .../processors/cache/GridCacheProcessor.java    |  6 +-
 .../DiscoveryNodeValidationProcessor.java       | 27 +++++++
 .../OsDiscoveryNodeValidationProcessor.java     | 74 ++++++++++++++++++
 .../spi/NodeVersionValidatorProcessor.java      | 27 -------
 .../spi/OsNodeVersionValidatorProcessor.java    | 80 --------------------
 .../ignite/spi/IgniteNodeValidationResult.java  | 66 ++++++++++++++++
 .../org/apache/ignite/spi/IgniteSpiAdapter.java |  2 +-
 .../org/apache/ignite/spi/IgniteSpiContext.java |  2 +-
 .../spi/IgniteSpiNodeValidationResult.java      | 66 ----------------
 .../spi/discovery/tcp/TcpDiscoverySpi.java      |  2 +-
 .../testframework/GridSpiTestContext.java       |  2 +-
 17 files changed, 189 insertions(+), 193 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c99d6cd/modules/core/src/main/java/org/apache/ignite/internal/GridComponent.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/GridComponent.java 
b/modules/core/src/main/java/org/apache/ignite/internal/GridComponent.java
index 47923e0..9f08d6e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridComponent.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridComponent.java
@@ -106,7 +106,7 @@ public interface GridComponent {
      * @param node Joining node.
      * @return Validation result or {@code null} in case of success.
      */
-    @Nullable public IgniteSpiNodeValidationResult validateNode(ClusterNode 
node);
+    @Nullable public IgniteNodeValidationResult validateNode(ClusterNode node);
 
     /**
      * Gets unique component type to distinguish components providing 
discovery data. Must return non-null value

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c99d6cd/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 e999a49..1ff483e 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
@@ -53,7 +53,7 @@ import org.apache.ignite.internal.processors.security.*;
 import org.apache.ignite.internal.processors.segmentation.*;
 import org.apache.ignite.internal.processors.service.*;
 import org.apache.ignite.internal.processors.session.*;
-import org.apache.ignite.internal.processors.spi.*;
+import org.apache.ignite.internal.processors.nodevalidation.*;
 import org.apache.ignite.internal.processors.task.*;
 import org.apache.ignite.internal.processors.timeout.*;
 import org.apache.ignite.internal.util.*;
@@ -476,7 +476,7 @@ public class GridKernalContextImpl implements 
GridKernalContext, Externalizable
             dataStructuresProc = (DataStructuresProcessor)comp;
         else if (comp instanceof ClusterProcessor)
             cluster = (ClusterProcessor)comp;
-        else if (!(comp instanceof NodeVersionValidatorProcessor))
+        else if (!(comp instanceof DiscoveryNodeValidationProcessor))
             assert (comp instanceof GridPluginComponent) : "Unknown manager 
class: " + comp.getClass();
 
         if (addToList)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c99d6cd/modules/core/src/main/java/org/apache/ignite/internal/GridPluginComponent.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/GridPluginComponent.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/GridPluginComponent.java
index dca2e91..305a7e3 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/GridPluginComponent.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/GridPluginComponent.java
@@ -83,14 +83,14 @@ public class GridPluginComponent implements GridComponent {
     }
 
     /** {@inheritDoc} */
-    @Nullable @Override public IgniteSpiNodeValidationResult 
validateNode(ClusterNode node) {
+    @Nullable @Override public IgniteNodeValidationResult 
validateNode(ClusterNode node) {
         try {
             plugin.validateNewNode(node);
 
             return null;
         }
         catch (PluginValidationException e) {
-            return new IgniteSpiNodeValidationResult(e.nodeId(), 
e.getMessage(), e.remoteMessage());
+            return new IgniteNodeValidationResult(e.nodeId(), e.getMessage(), 
e.remoteMessage());
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c99d6cd/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index 48109931..e8fd1ab 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -56,7 +56,7 @@ import org.apache.ignite.internal.processors.security.*;
 import org.apache.ignite.internal.processors.segmentation.*;
 import org.apache.ignite.internal.processors.service.*;
 import org.apache.ignite.internal.processors.session.*;
-import org.apache.ignite.internal.processors.spi.*;
+import org.apache.ignite.internal.processors.nodevalidation.*;
 import org.apache.ignite.internal.processors.task.*;
 import org.apache.ignite.internal.processors.timeout.*;
 import org.apache.ignite.internal.util.*;
@@ -735,7 +735,7 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
 
             // Start processors before discovery manager, so they will
             // be able to start receiving messages once discovery completes.
-            
startProcessor(createComponent(NodeVersionValidatorProcessor.class, ctx));
+            
startProcessor(createComponent(DiscoveryNodeValidationProcessor.class, ctx));
             startProcessor(new GridClockSyncProcessor(ctx));
             startProcessor(new GridAffinityProcessor(ctx));
             startProcessor(createComponent(GridSegmentationProcessor.class, 
ctx));
@@ -1157,6 +1157,8 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
 
         // Stick in some system level attributes
         add(ATTR_JIT_NAME, U.getCompilerMx() == null ? "" : 
U.getCompilerMx().getName());
+        add(ATTR_BUILD_VER, VER_STR);
+        add(ATTR_BUILD_DATE, BUILD_TSTAMP_STR);
         add(ATTR_MARSHALLER, cfg.getMarshaller().getClass().getName());
         add(ATTR_USER_NAME, System.getProperty("user.name"));
         add(ATTR_GRID_NAME, gridName);
@@ -2726,8 +2728,8 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
         if (cls.equals(IgniteCacheObjectProcessor.class))
             return (T)new IgniteCacheObjectProcessorImpl(ctx);
 
-        if (cls.equals(NodeVersionValidatorProcessor.class))
-            return (T)new OsNodeVersionValidatorProcessor(ctx);
+        if (cls.equals(DiscoveryNodeValidationProcessor.class))
+            return (T)new OsDiscoveryNodeValidationProcessor(ctx);
 
         Class<T> implCls = null;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c99d6cd/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java
index 982ca86..665f205 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java
@@ -469,9 +469,9 @@ public abstract class GridManagerAdapter<T extends 
IgniteSpi> implements GridMan
                         }
                     }
 
-                    @Override public IgniteSpiNodeValidationResult 
validateNode(ClusterNode node) {
+                    @Override public IgniteNodeValidationResult 
validateNode(ClusterNode node) {
                         for (GridComponent comp : ctx) {
-                            IgniteSpiNodeValidationResult err = 
comp.validateNode(node);
+                            IgniteNodeValidationResult err = 
comp.validateNode(node);
 
                             if (err != null)
                                 return err;
@@ -612,7 +612,7 @@ public abstract class GridManagerAdapter<T extends 
IgniteSpi> implements GridMan
     }
 
     /** {@inheritDoc} */
-    @Nullable @Override public IgniteSpiNodeValidationResult 
validateNode(ClusterNode node) {
+    @Nullable @Override public IgniteNodeValidationResult 
validateNode(ClusterNode node) {
         return null;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c99d6cd/modules/core/src/main/java/org/apache/ignite/internal/processors/GridProcessorAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/GridProcessorAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/GridProcessorAdapter.java
index f00aac3..39ccd7a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/GridProcessorAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/GridProcessorAdapter.java
@@ -113,7 +113,7 @@ public abstract class GridProcessorAdapter implements 
GridProcessor {
     }
 
     /** {@inheritDoc} */
-    @Nullable @Override public IgniteSpiNodeValidationResult 
validateNode(ClusterNode node) {
+    @Nullable @Override public IgniteNodeValidationResult 
validateNode(ClusterNode node) {
         return null;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c99d6cd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index c366520..ec708b9 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
@@ -1871,7 +1871,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
     }
 
     /** {@inheritDoc} */
-    @Nullable @Override public IgniteSpiNodeValidationResult 
validateNode(ClusterNode node) {
+    @Nullable @Override public IgniteNodeValidationResult 
validateNode(ClusterNode node) {
         return validateHashIdResolvers(node);
     }
 
@@ -1879,7 +1879,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
      * @param node Joining node.
      * @return Validation result or {@code null} in case of success.
      */
-    @Nullable private IgniteSpiNodeValidationResult 
validateHashIdResolvers(ClusterNode node) {
+    @Nullable private IgniteNodeValidationResult 
validateHashIdResolvers(ClusterNode node) {
         for (DynamicCacheDescriptor desc : registeredCaches.values()) {
             CacheConfiguration cfg = desc.cacheConfiguration();
 
@@ -1906,7 +1906,7 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
                             ", hashIdResolverClass=" + 
hashIdRslvr.getClass().getName() + ", existingNodeId=" +
                             topNode.id() + ']';
 
-                        return new IgniteSpiNodeValidationResult(topNode.id(), 
errMsg, sndMsg);
+                        return new IgniteNodeValidationResult(topNode.id(), 
errMsg, sndMsg);
                     }
                 }
             }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c99d6cd/modules/core/src/main/java/org/apache/ignite/internal/processors/nodevalidation/DiscoveryNodeValidationProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/nodevalidation/DiscoveryNodeValidationProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/nodevalidation/DiscoveryNodeValidationProcessor.java
new file mode 100644
index 0000000..d0f4624
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/nodevalidation/DiscoveryNodeValidationProcessor.java
@@ -0,0 +1,27 @@
+/*
+ * 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.nodevalidation;
+
+import org.apache.ignite.internal.processors.*;
+
+/**
+ * Node Version Validation.
+ */
+public interface DiscoveryNodeValidationProcessor extends GridProcessor {
+    //No-op.
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c99d6cd/modules/core/src/main/java/org/apache/ignite/internal/processors/nodevalidation/OsDiscoveryNodeValidationProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/nodevalidation/OsDiscoveryNodeValidationProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/nodevalidation/OsDiscoveryNodeValidationProcessor.java
new file mode 100644
index 0000000..628d7c9
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/nodevalidation/OsDiscoveryNodeValidationProcessor.java
@@ -0,0 +1,74 @@
+/*
+ * 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.nodevalidation;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.*;
+import org.apache.ignite.internal.util.typedef.*;
+import org.apache.ignite.internal.util.typedef.internal.*;
+import org.apache.ignite.spi.*;
+import org.jetbrains.annotations.*;
+
+import static org.apache.ignite.internal.IgniteNodeAttributes.*;
+import static org.apache.ignite.internal.IgniteVersionUtils.*;
+
+/**
+ * Node validation.
+ */
+public class OsDiscoveryNodeValidationProcessor extends GridProcessorAdapter 
implements DiscoveryNodeValidationProcessor {
+    /**
+     * @param ctx Kernal context.
+     */
+    public OsDiscoveryNodeValidationProcessor(GridKernalContext ctx) {
+        super(ctx);
+    }
+
+    /** {@inheritDoc} */
+    @Nullable @Override public IgniteNodeValidationResult 
validateNode(ClusterNode node) {
+        ClusterNode locNode = ctx.discovery().localNode();
+
+        // Check version.
+        String locBuildVer = locNode.attribute(ATTR_BUILD_VER);
+        String rmtBuildVer = node.attribute(ATTR_BUILD_VER);
+
+        if (!F.eq(rmtBuildVer, locBuildVer)) {
+            // OS nodes don't support rolling updates.
+            if (!locBuildVer.equals(rmtBuildVer)) {
+                String errMsg = "Local node and remote node have different 
version numbers " +
+                    "(node will not join, Ignite does not support rolling 
updates, " +
+                    "so versions must be exactly the same) " +
+                    "[locBuildVer=" + locBuildVer + ", rmtBuildVer=" + 
rmtBuildVer +
+                    ", locNodeAddrs=" + U.addressesAsString(locNode) +
+                    ", rmtNodeAddrs=" + U.addressesAsString(node) +
+                    ", locNodeId=" + locNode.id() + ", rmtNodeId=" + node.id() 
+ ']';
+
+                LT.warn(log, null, errMsg);
+
+                // Always output in debug.
+                if (log.isDebugEnabled())
+                    log.debug(errMsg);
+
+                return new IgniteNodeValidationResult(node.id(), errMsg, 
errMsg);
+            }
+        }
+
+        return null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c99d6cd/modules/core/src/main/java/org/apache/ignite/internal/processors/spi/NodeVersionValidatorProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/spi/NodeVersionValidatorProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/spi/NodeVersionValidatorProcessor.java
deleted file mode 100644
index 5ac1af0..0000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/spi/NodeVersionValidatorProcessor.java
+++ /dev/null
@@ -1,27 +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.spi;
-
-import org.apache.ignite.internal.processors.*;
-
-/**
- * Node Version Validator.
- */
-public interface NodeVersionValidatorProcessor extends GridProcessor {
-    //No-op.
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c99d6cd/modules/core/src/main/java/org/apache/ignite/internal/processors/spi/OsNodeVersionValidatorProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/spi/OsNodeVersionValidatorProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/spi/OsNodeVersionValidatorProcessor.java
deleted file mode 100644
index 3d151f3..0000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/spi/OsNodeVersionValidatorProcessor.java
+++ /dev/null
@@ -1,80 +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.spi;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.internal.*;
-import org.apache.ignite.internal.processors.*;
-import org.apache.ignite.internal.util.typedef.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
-import org.apache.ignite.spi.*;
-import org.jetbrains.annotations.*;
-
-import static org.apache.ignite.internal.IgniteNodeAttributes.*;
-import static org.apache.ignite.internal.IgniteVersionUtils.*;
-
-/**
- * Node validator.
- */
-public class OsNodeVersionValidatorProcessor extends GridProcessorAdapter 
implements NodeVersionValidatorProcessor {
-    /**
-     * @param ctx Kernal context.
-     */
-    public OsNodeVersionValidatorProcessor(GridKernalContext ctx) {
-        super(ctx);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void start() throws IgniteCheckedException {
-        ctx.addNodeAttribute(ATTR_BUILD_VER, VER_STR);
-        ctx.addNodeAttribute(ATTR_BUILD_DATE, BUILD_TSTAMP_STR);
-    }
-
-    /** {@inheritDoc} */
-    @Nullable @Override public IgniteSpiNodeValidationResult 
validateNode(ClusterNode node) {
-        ClusterNode locNode = ctx.discovery().localNode();
-
-        // Check version.
-        String locBuildVer = locNode.attribute(ATTR_BUILD_VER);
-        String rmtBuildVer = node.attribute(ATTR_BUILD_VER);
-
-        if (!F.eq(rmtBuildVer, locBuildVer)) {
-            // OS nodes don't support rolling updates.
-            if (!locBuildVer.equals(rmtBuildVer)) {
-                String errMsg = "Local node and remote node have different 
version numbers " +
-                    "(node will not join, Ignite does not support rolling 
updates, " +
-                    "so versions must be exactly the same) " +
-                    "[locBuildVer=" + locBuildVer + ", rmtBuildVer=" + 
rmtBuildVer +
-                    ", locNodeAddrs=" + U.addressesAsString(locNode) +
-                    ", rmtNodeAddrs=" + U.addressesAsString(node) +
-                    ", locNodeId=" + locNode.id() + ", rmtNodeId=" + node.id() 
+ ']';
-
-                LT.warn(log, null, errMsg);
-
-                // Always output in debug.
-                if (log.isDebugEnabled())
-                    log.debug(errMsg);
-
-                return new IgniteSpiNodeValidationResult(node.id(), errMsg, 
errMsg);
-            }
-        }
-
-        return null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c99d6cd/modules/core/src/main/java/org/apache/ignite/spi/IgniteNodeValidationResult.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/IgniteNodeValidationResult.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/IgniteNodeValidationResult.java
new file mode 100644
index 0000000..0c3746c
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/IgniteNodeValidationResult.java
@@ -0,0 +1,66 @@
+/*
+ * 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.spi;
+
+import java.util.*;
+
+/**
+ * Result of joining node validation.
+ */
+public class IgniteNodeValidationResult {
+    /** Offending node ID. */
+    private final UUID nodeId;
+
+    /** Error message to be logged locally. */
+    private final String msg;
+
+    /** Error message to be sent to joining node. */
+    private final String sndMsg;
+
+    /**
+     * @param nodeId Offending node ID.
+     * @param msg Message logged locally.
+     * @param sndMsg Message sent to joining node.
+     */
+    public IgniteNodeValidationResult(UUID nodeId, String msg, String sndMsg) {
+        this.nodeId = nodeId;
+        this.msg = msg;
+        this.sndMsg = sndMsg;
+    }
+
+    /**
+     * @return Offending node ID.
+     */
+    public UUID nodeId() {
+        return nodeId;
+    }
+
+    /**
+     * @return Message to be logged locally.
+     */
+    public String message() {
+        return msg;
+    }
+
+    /**
+     * @return Message to be sent to joining node.
+     */
+    public String sendMessage() {
+        return sndMsg;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c99d6cd/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java 
b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
index bb66872..1c9b4db 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
@@ -664,7 +664,7 @@ public abstract class IgniteSpiAdapter implements 
IgniteSpi, IgniteSpiManagement
         }
 
         /** {@inheritDoc} */
-        @Nullable @Override public IgniteSpiNodeValidationResult 
validateNode(ClusterNode node) {
+        @Nullable @Override public IgniteNodeValidationResult 
validateNode(ClusterNode node) {
             return null;
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c99d6cd/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java 
b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
index 75b637d..5eef37a 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
@@ -302,7 +302,7 @@ public interface IgniteSpiContext {
      * @param node Joining node.
      * @return Validation result or {@code null} in case of success.
      */
-    @Nullable public IgniteSpiNodeValidationResult validateNode(ClusterNode 
node);
+    @Nullable public IgniteNodeValidationResult validateNode(ClusterNode node);
 
     /**
      * Gets collection of authenticated subjects together with their 
permissions.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c99d6cd/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiNodeValidationResult.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiNodeValidationResult.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiNodeValidationResult.java
deleted file mode 100644
index 2c60bc7..0000000
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiNodeValidationResult.java
+++ /dev/null
@@ -1,66 +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.spi;
-
-import java.util.*;
-
-/**
- * Result of joining node validation.
- */
-public class IgniteSpiNodeValidationResult {
-    /** Offending node ID. */
-    private final UUID nodeId;
-
-    /** Error message to be logged locally. */
-    private final String msg;
-
-    /** Error message to be sent to joining node. */
-    private final String sndMsg;
-
-    /**
-     * @param nodeId Offending node ID.
-     * @param msg Message logged locally.
-     * @param sndMsg Message sent to joining node.
-     */
-    public IgniteSpiNodeValidationResult(UUID nodeId, String msg, String 
sndMsg) {
-        this.nodeId = nodeId;
-        this.msg = msg;
-        this.sndMsg = sndMsg;
-    }
-
-    /**
-     * @return Offending node ID.
-     */
-    public UUID nodeId() {
-        return nodeId;
-    }
-
-    /**
-     * @return Message to be logged locally.
-     */
-    public String message() {
-        return msg;
-    }
-
-    /**
-     * @return Message to be sent to joining node.
-     */
-    public String sendMessage() {
-        return sndMsg;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c99d6cd/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index d17f9b3..a4cb816 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -3216,7 +3216,7 @@ public class TcpDiscoverySpi extends 
TcpDiscoverySpiAdapter implements TcpDiscov
                     }
                 }
 
-                IgniteSpiNodeValidationResult err = 
getSpiContext().validateNode(node);
+                IgniteNodeValidationResult err = 
getSpiContext().validateNode(node);
 
                 if (err != null) {
                     boolean ping = node.id().equals(err.nodeId()) ? 
pingNode(node) : pingNode(err.nodeId());

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c99d6cd/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
 
b/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
index a754910..a4e011a 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
@@ -469,7 +469,7 @@ public class GridSpiTestContext implements IgniteSpiContext 
{
     }
 
     /** {@inheritDoc} */
-    @Nullable @Override public IgniteSpiNodeValidationResult 
validateNode(ClusterNode node) {
+    @Nullable @Override public IgniteNodeValidationResult 
validateNode(ClusterNode node) {
         return null;
     }
 

Reply via email to