Repository: ignite
Updated Branches:
  refs/heads/ignite-zk c6715c55e -> 3c311a34d


zk


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

Branch: refs/heads/ignite-zk
Commit: 3c311a34d433dde0bead8c93dfcdaa29a47222c5
Parents: c6715c5
Author: sboikov <sboi...@gridgain.com>
Authored: Tue Dec 26 11:18:54 2017 +0300
Committer: sboikov <sboi...@gridgain.com>
Committed: Tue Dec 26 12:11:29 2017 +0300

----------------------------------------------------------------------
 .../CommunicationProblemContext.java            |  1 -
 .../DefaultCommunicationProblemResolver.java    |  7 +++++
 .../communication/GridIoMessageFactory.java     |  1 -
 .../internal/managers/discovery/DiscoCache.java |  4 +++
 .../managers/discovery/IgniteClusterNode.java   |  2 +-
 .../cluster/ClusterMetricsUpdateMessage.java    |  2 --
 .../processors/cluster/ClusterProcessor.java    | 24 ++++++++++-------
 .../continuous/ContinuousRoutineInfo.java       | 24 +++++++++++++----
 .../ContinuousRoutineStartResultMessage.java    |  6 +++++
 .../ContinuousRoutinesCommonDiscoveryData.java  |  9 +++++++
 .../continuous/ContinuousRoutinesInfo.java      |  6 +++++
 ...tinuousRoutinesJoiningNodeDiscoveryData.java |  9 +++++++
 .../continuous/GridContinuousProcessor.java     | 18 +++++++++++++
 .../ignite/internal/util/nio/GridNioServer.java |  3 +++
 .../org/apache/ignite/spi/IgniteSpiContext.java |  7 +++++
 .../communication/tcp/TcpCommunicationSpi.java  |  3 ---
 .../zk/internal/ZookeeperDiscoveryImpl.java     | 27 ++++++++++++++++---
 .../internal/DiscoverySpiTestListener.java      |  4 ++-
 .../ignite/internal/GridDiscoverySelfTest.java  |  9 ++++---
 .../IgniteClientReconnectAtomicsTest.java       |  4 ---
 .../IgniteClientReconnectBinaryContexTest.java  | 28 ++++----------------
 .../IgniteClientReconnectCacheTest.java         | 13 ++++-----
 .../IgniteClientReconnectCollectionsTest.java   |  4 ---
 .../internal/IgniteClientReconnectStopTest.java | 15 ++++++-----
 .../ignite/internal/IgniteClientRejoinTest.java |  1 -
 ...RoundRobinErrorAfterClientReconnectTest.java |  8 ++----
 .../CacheMetricsForClusterGroupSelfTest.java    |  6 ++++-
 .../binary/BinaryMetadataUpdatesFlowTest.java   |  6 +++--
 .../GridCacheQueueClientDisconnectTest.java     |  5 +---
 .../dht/GridCacheDhtPreloadSelfTest.java        |  2 +-
 ...GridServiceProxyClientReconnectSelfTest.java |  8 ++----
 .../discovery/AuthenticationRestartTest.java    | 20 ++++++--------
 .../ZookeeperDiscoverySpiBasicTest.java         | 21 ---------------
 .../DynamicIndexAbstractBasicSelfTest.java      |  1 +
 34 files changed, 179 insertions(+), 129 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/main/java/org/apache/ignite/configuration/CommunicationProblemContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/configuration/CommunicationProblemContext.java
 
b/modules/core/src/main/java/org/apache/ignite/configuration/CommunicationProblemContext.java
index 9d53a97..4a9f140 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/configuration/CommunicationProblemContext.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/configuration/CommunicationProblemContext.java
@@ -18,7 +18,6 @@
 package org.apache.ignite.configuration;
 
 import java.util.List;
-import java.util.UUID;
 import org.apache.ignite.cluster.ClusterNode;
 import org.apache.ignite.spi.communication.CommunicationSpi;
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/main/java/org/apache/ignite/configuration/DefaultCommunicationProblemResolver.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/configuration/DefaultCommunicationProblemResolver.java
 
b/modules/core/src/main/java/org/apache/ignite/configuration/DefaultCommunicationProblemResolver.java
index ca7bcd7..163ef2a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/configuration/DefaultCommunicationProblemResolver.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/configuration/DefaultCommunicationProblemResolver.java
@@ -22,6 +22,7 @@ import java.util.List;
 import org.apache.ignite.IgniteLogger;
 import org.apache.ignite.cluster.ClusterNode;
 import org.apache.ignite.internal.util.typedef.internal.CU;
+import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.resources.LoggerResource;
 
@@ -29,6 +30,7 @@ import org.apache.ignite.resources.LoggerResource;
  *
  */
 public class DefaultCommunicationProblemResolver implements 
CommunicationProblemResolver {
+    /** */
     @LoggerResource
     private IgniteLogger log;
 
@@ -295,4 +297,9 @@ public class DefaultCommunicationProblemResolver implements 
CommunicationProblem
             return (words[wordIndex] & (1L << bitIndex)) != 0;
         }
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(DefaultCommunicationProblemResolver.class, this);
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index 51a6e25..3b320e5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@ -886,7 +886,6 @@ public class GridIoMessageFactory implements MessageFactory 
{
 
                 break;
 
-
             case 130:
                 msg = new ContinuousRoutineStartResultMessage();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoCache.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoCache.java
index 0e35c7b..29657ae 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoCache.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoCache.java
@@ -211,6 +211,10 @@ public class DiscoCache {
         return null;
     }
 
+    /**
+     * @param nodeId Node ID.
+     * @return {@code True} if node is in alives list.
+     */
     public boolean alive(UUID nodeId) {
         return alives.contains(nodeId);
     }

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/IgniteClusterNode.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/IgniteClusterNode.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/IgniteClusterNode.java
index 5aa938a..cbc706a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/IgniteClusterNode.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/IgniteClusterNode.java
@@ -25,7 +25,7 @@ import org.apache.ignite.cluster.ClusterNode;
 import org.apache.ignite.configuration.IgniteConfiguration;
 
 /**
- * TODO ZK
+ *
  */
 public interface IgniteClusterNode extends ClusterNode {
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/ClusterMetricsUpdateMessage.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/ClusterMetricsUpdateMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/ClusterMetricsUpdateMessage.java
index c990fc5..239dad5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/ClusterMetricsUpdateMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/ClusterMetricsUpdateMessage.java
@@ -55,14 +55,12 @@ public class ClusterMetricsUpdateMessage implements Message 
{
      */
     ClusterMetricsUpdateMessage(byte[] nodeMetrics) {
         this.nodeMetrics = nodeMetrics;
-        this.allNodesMetrics = allNodesMetrics;
     }
 
     /**
      * @param allNodesMetrics All nodes metrcis.
      */
     ClusterMetricsUpdateMessage(Map<UUID, byte[]> allNodesMetrics) {
-        this.nodeMetrics = nodeMetrics;
         this.allNodesMetrics = allNodesMetrics;
     }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/ClusterProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/ClusterProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/ClusterProcessor.java
index 6c38504..b1393a8 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/ClusterProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/ClusterProcessor.java
@@ -114,9 +114,17 @@ public class ClusterProcessor extends GridProcessorAdapter 
{
     private final AtomicLong diagFutId = new AtomicLong();
 
     /** */
-    @GridDirectMap(keyType = UUID.class, valueType = byte[].class)
     private final Map<UUID, byte[]> allNodesMetrics = new 
ConcurrentHashMap<>();
 
+    /** */
+    private final JdkMarshaller marsh = new JdkMarshaller();
+
+    /** */
+    private DiscoveryMetricsProvider metricsProvider;
+
+    /** */
+    private boolean sndMetrics;
+
     /**
      * @param ctx Kernal context.
      */
@@ -126,6 +134,8 @@ public class ClusterProcessor extends GridProcessorAdapter {
         
notifyEnabled.set(IgniteSystemProperties.getBoolean(IGNITE_UPDATE_NOTIFIER, 
true));
 
         cluster = new IgniteClusterImpl(ctx);
+
+        sndMetrics = !(ctx.config().getDiscoverySpi() instanceof 
TcpDiscoverySpi);
     }
 
     /**
@@ -135,12 +145,6 @@ public class ClusterProcessor extends GridProcessorAdapter 
{
         return getBoolean(IGNITE_DIAGNOSTIC_ENABLED, true);
     }
 
-    /** */
-    private final JdkMarshaller marsh = new JdkMarshaller();
-
-    /** */
-    private DiscoveryMetricsProvider metricsProvider;
-
     /**
      * @throws IgniteCheckedException If failed.
      */
@@ -253,7 +257,7 @@ public class ClusterProcessor extends GridProcessorAdapter {
             }
         });
 
-        if (!(ctx.config().getDiscoverySpi() instanceof TcpDiscoverySpi)) {
+        if (sndMetrics) {
             ctx.io().addMessageListener(TOPIC_METRICS, new 
GridMessageListener() {
                 @Override public void onMessage(UUID nodeId, Object msg, byte 
plc) {
                     if (msg instanceof ClusterMetricsUpdateMessage)
@@ -364,7 +368,7 @@ public class ClusterProcessor extends GridProcessorAdapter {
             }
         }
 
-        if (!(ctx.config().getDiscoverySpi() instanceof TcpDiscoverySpi)) {
+        if (sndMetrics) {
             metricsProvider = ctx.discovery().createMetricsProvider();
 
             long updateFreq = ctx.config().getMetricsUpdateFrequency();
@@ -440,7 +444,7 @@ public class ClusterProcessor extends GridProcessorAdapter {
             ctx.discovery().metricsUpdateEvent(discoCache, node0);
         }
         catch (IgniteCheckedException e) {
-            U.warn(log, "Failed to unmarshal node metrics: ");
+            U.warn(log, "Failed to unmarshal node metrics: " + e);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutineInfo.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutineInfo.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutineInfo.java
index 938c592..fc0f181 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutineInfo.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutineInfo.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.continuous;
 
 import java.io.Serializable;
 import java.util.UUID;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  *
@@ -52,11 +53,13 @@ class ContinuousRoutineInfo implements Serializable {
     transient boolean disconnected;
 
     /**
-     * @param hnd
-     * @param nodeFilter
-     * @param bufSize
-     * @param interval
-     * @param autoUnsubscribe
+     * @param srcNodeId Source node ID.
+     * @param routineId Routine ID.
+     * @param hnd Marshalled handler.
+     * @param nodeFilter Marshalled node filter.
+     * @param bufSize Handler buffer size.
+     * @param interval Time interval.
+     * @param autoUnsubscribe Auto unsubscribe flag.
      */
     ContinuousRoutineInfo(
         UUID srcNodeId,
@@ -76,11 +79,22 @@ class ContinuousRoutineInfo implements Serializable {
         this.autoUnsubscribe = autoUnsubscribe;
     }
 
+    /**
+     * @param srcNodeId Source node ID.
+     */
     void sourceNodeId(UUID srcNodeId) {
         this.srcNodeId = srcNodeId;
     }
 
+    /**
+     *
+     */
     void onDisconnected() {
         disconnected = true;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(ContinuousRoutineInfo.class, this);
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutineStartResultMessage.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutineStartResultMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutineStartResultMessage.java
index 5b485b8..9f40128 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutineStartResultMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutineStartResultMessage.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.processors.continuous;
 import java.nio.ByteBuffer;
 import java.util.UUID;
 import 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.CachePartitionPartialCountersMap;
+import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.plugin.extensions.communication.Message;
 import org.apache.ignite.plugin.extensions.communication.MessageReader;
 import org.apache.ignite.plugin.extensions.communication.MessageWriter;
@@ -197,4 +198,9 @@ public class ContinuousRoutineStartResultMessage implements 
Message {
     @Override public void onAckReceived() {
         // No-op.
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(ContinuousRoutineStartResultMessage.class, this);
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutinesCommonDiscoveryData.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutinesCommonDiscoveryData.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutinesCommonDiscoveryData.java
index 6fd62ba..d29de89 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutinesCommonDiscoveryData.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutinesCommonDiscoveryData.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.continuous;
 
 import java.io.Serializable;
 import java.util.List;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  *
@@ -30,7 +31,15 @@ public class ContinuousRoutinesCommonDiscoveryData 
implements Serializable {
     /** */
     final List<ContinuousRoutineInfo> startedRoutines;
 
+    /**
+     * @param startedRoutines Routines started in cluster.
+     */
     ContinuousRoutinesCommonDiscoveryData(List<ContinuousRoutineInfo> 
startedRoutines) {
         this.startedRoutines = startedRoutines;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(ContinuousRoutinesCommonDiscoveryData.class, this);
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutinesInfo.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutinesInfo.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutinesInfo.java
index 8061b55..ad24ff1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutinesInfo.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutinesInfo.java
@@ -23,6 +23,7 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.UUID;
+import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.spi.discovery.DiscoveryDataBag;
 
 import static 
org.apache.ignite.internal.GridComponent.DiscoveryDataExchangeType.CONTINUOUS_PROC;
@@ -123,4 +124,9 @@ class ContinuousRoutinesInfo {
             }
         }
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(ContinuousRoutinesInfo.class, this);
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutinesJoiningNodeDiscoveryData.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutinesJoiningNodeDiscoveryData.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutinesJoiningNodeDiscoveryData.java
index d41e671..9be6ef8 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutinesJoiningNodeDiscoveryData.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/ContinuousRoutinesJoiningNodeDiscoveryData.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.continuous;
 
 import java.io.Serializable;
 import java.util.List;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  *
@@ -30,7 +31,15 @@ public class ContinuousRoutinesJoiningNodeDiscoveryData 
implements Serializable
     /** */
     final List<ContinuousRoutineInfo> startedRoutines;
 
+    /**
+     * @param startedRoutines Routines registered on nodes, to be started in 
cluster.
+     */
     ContinuousRoutinesJoiningNodeDiscoveryData(List<ContinuousRoutineInfo> 
startedRoutines) {
         this.startedRoutines = startedRoutines;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(ContinuousRoutinesJoiningNodeDiscoveryData.class, 
this);
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
index 0210dd3..dbcea4c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
@@ -586,6 +586,13 @@ public class GridContinuousProcessor extends 
GridProcessorAdapter {
                     ", srcNodeId=" + routineInfo.srcNodeId + ']', e);
             }
         }
+        else {
+            if (log.isDebugEnabled()) {
+                log.debug("Do not register continuous routine, rejected by 
node filter [" +
+                    "routineId=" + routineInfo.routineId +
+                    ", srcNodeId=" + routineInfo.srcNodeId + ']');
+            }
+        }
     }
 
     /**
@@ -747,6 +754,17 @@ public class GridContinuousProcessor extends 
GridProcessorAdapter {
         return routineId;
     }
 
+    /**
+     * @param srcNodeId Source node ID.
+     * @param routineId Routine ID.
+     * @param hnd Handler.
+     * @param nodeFilter Node filter.
+     * @param bufSize Handler buffer size.
+     * @param interval Time interval.
+     * @param autoUnsubscribe Auto unsubscribe flag.
+     * @return Routine info instance.
+     * @throws IgniteCheckedException If failed.
+     */
     private ContinuousRoutineInfo createRoutineInfo(
         UUID srcNodeId,
         UUID routineId,

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
index e95f957..589f7d0 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
@@ -485,6 +485,9 @@ public class GridNioServer<T> {
         return fut;
     }
 
+    /**
+     * @param ses Session.
+     */
     public void closeFromWorkerThread(GridNioSession ses) {
         assert ses instanceof GridSelectorNioSessionImpl : ses;
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/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 f9c6ffd..01c1ea4 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
@@ -359,7 +359,14 @@ public interface IgniteSpiContext {
      */
     public Map<String, Object> nodeAttributes();
 
+    /**
+     * @return {@code True} if cluster supports communication error resolving.
+     */
     public boolean communicationErrorResolveSupported();
 
+    /**
+     * @param node Problem node.
+     * @param err Error.
+     */
     public void resolveCommunicationError(ClusterNode node, Exception err);
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index 4b7199d..566f7161 100755
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@ -405,8 +405,6 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter 
implements Communicati
                     }
                 }
                 else {
-                    ConnectionKey connId = ses.meta(CONN_IDX_META);
-
                     if (log.isInfoEnabled())
                         log.info("Established outgoing communication 
connection [locAddr=" + ses.localAddress() +
                             ", rmtAddr=" + ses.remoteAddress() + ']');
@@ -3414,7 +3412,6 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter 
implements Communicati
                     "operating system firewall is disabled on local and remote 
hosts) " +
                     "[addrs=" + addrs + ']');
 
-
             boolean commErrResolve = false;
 
             IgniteSpiContext ctx = getSpiContext();

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
index 04eb607..b8cfcfb 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
@@ -466,12 +466,33 @@ public class ZookeeperDiscoveryImpl {
             joinTopology(rtState);
         }
         catch (Exception e) {
+            if (stopping()) {
+                if (log.isDebugEnabled())
+                    log.debug("Reconnect failed, node is stopping [err=" + e + 
']');
+
+                return;
+            }
+
             U.error(log, "Failed to reconnect: " + e, e);
 
             onSegmented(e);
         }
     }
 
+    /**
+     * @return {@code True} if started to stop.
+     */
+    private boolean stopping() {
+        if (stop.get())
+            return true;
+
+        synchronized (stateMux) {
+            if (connState == ConnectionState.STOPPED)
+                return true;
+        }
+
+        return false;
+    }
 
     /**
      * @param e Error.
@@ -3425,6 +3446,8 @@ public class ZookeeperDiscoveryImpl {
             rtState.onCloseStart(err);
         }
 
+        IgniteUtils.shutdownNow(ZookeeperDiscoveryImpl.class, utilityPool, 
log);
+
         busyLock.block();
 
         busyLock.unblock();
@@ -3437,8 +3460,6 @@ public class ZookeeperDiscoveryImpl {
             zkClient.close();
 
         finishFutures(err);
-
-        IgniteUtils.shutdownNow(ZookeeperDiscoveryImpl.class, utilityPool, 
log);
     }
 
     /**
@@ -3466,7 +3487,7 @@ public class ZookeeperDiscoveryImpl {
 
         Ignite ignite = spi.ignite();
 
-        if (connState == ConnectionState.STOPPED || ignite == null)
+        if (stopping() || ignite == null)
             return;
 
         U.error(log, "Fatal error in ZookeeperDiscovery. " +

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/test/java/org/apache/ignite/internal/DiscoverySpiTestListener.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/DiscoverySpiTestListener.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/DiscoverySpiTestListener.java
index 44f975a..46d9edc 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/DiscoverySpiTestListener.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/DiscoverySpiTestListener.java
@@ -34,7 +34,9 @@ import 
org.apache.ignite.spi.discovery.DiscoverySpiCustomMessage;
 import org.apache.ignite.testframework.GridTestUtils;
 
 /**
- *
+ * Test callback for discovery SPI.
+ * <p>
+ * Allows block/delay node join and custom event sending.
  */
 public class DiscoverySpiTestListener implements 
IgniteDiscoverySpiInternalListener {
     /** */

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoverySelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoverySelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoverySelfTest.java
index c462df0..883d677 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoverySelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoverySelfTest.java
@@ -159,10 +159,10 @@ public class GridDiscoverySelfTest extends 
GridCommonAbstractTest {
 
         final AtomicInteger cnt = new AtomicInteger();
 
-        /** Joined nodes counter. */
+        // Joined nodes counter.
         final CountDownLatch joinedCnt = new CountDownLatch(NODES_CNT);
 
-        /** Left nodes counter. */
+        // Left nodes counter.
         final CountDownLatch leftCnt = new CountDownLatch(NODES_CNT);
 
         IgnitePredicate<Event> lsnr = new IgnitePredicate<Event>() {
@@ -186,7 +186,10 @@ public class GridDiscoverySelfTest extends 
GridCommonAbstractTest {
             }
         };
 
-        ignite.events().localListen(lsnr, EVT_NODE_LEFT, EVT_NODE_FAILED, 
EVT_NODE_JOINED);
+        int[] evts = tcpDiscovery() ? new int[]{EVT_NODE_LEFT, 
EVT_NODE_JOINED} :
+            new int[]{EVT_NODE_LEFT, EVT_NODE_FAILED, EVT_NODE_JOINED};
+
+        ignite.events().localListen(lsnr, evts);
 
         try {
             for (int i = 0; i < NODES_CNT; i++)

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectAtomicsTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectAtomicsTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectAtomicsTest.java
index e09902d..d1e3ade 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectAtomicsTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectAtomicsTest.java
@@ -52,10 +52,6 @@ public class IgniteClientReconnectAtomicsTest extends 
IgniteClientReconnectAbstr
      * @throws Exception If failed.
      */
     public void testAtomicsReconnectClusterRestart() throws Exception {
-        // TODO ZK
-        if (!tcpDiscovery())
-            return;
-
         Ignite client = grid(serverCount());
 
         assertTrue(client.cluster().localNode().isClient());

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectBinaryContexTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectBinaryContexTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectBinaryContexTest.java
index a9052a7..1486476 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectBinaryContexTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectBinaryContexTest.java
@@ -70,29 +70,11 @@ public class IgniteClientReconnectBinaryContexTest extends 
IgniteClientReconnect
 
         cache.put(key, val); // For registering user types binary metadata
 
-        if (tcpDiscovery()) {
-            reconnectServersRestart(log, client, Collections.singleton(srv), 
new Callable<Collection<Ignite>>() {
-                @Override public Collection<Ignite> call() throws Exception {
-                    return Collections.singleton((Ignite)startGrid(0));
-                }
-            });
-        }
-        else {
-            reconnectClients(log, Collections.singletonList(client), new 
Runnable() {
-                @Override public void run() {
-                    stopGrid(0, false);
-
-                    try {
-                        startGrid(0);
-                    }
-                    catch (Exception e) {
-                        e.printStackTrace();
-
-                        fail();
-                    }
-                }
-            });
-        }
+        reconnectServersRestart(log, client, Collections.singleton(srv), new 
Callable<Collection<Ignite>>() {
+            @Override public Collection<Ignite> call() throws Exception {
+                return Collections.singleton((Ignite)startGrid(0));
+            }
+        });
 
         cache = client.createCache(cacheCfg);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java
index 084241b..b17e52b 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java
@@ -960,10 +960,6 @@ public class IgniteClientReconnectCacheTest extends 
IgniteClientReconnectAbstrac
      * @throws Exception If failed.
      */
     public void testReconnectClusterRestart() throws Exception {
-        // TODO ZK
-        if (!tcpDiscovery())
-            return;
-
         clientMode = true;
 
         final Ignite client = startGrid(SRV_CNT);
@@ -1028,10 +1024,6 @@ public class IgniteClientReconnectCacheTest extends 
IgniteClientReconnectAbstrac
      * @throws Exception If failed.
      */
     public void testReconnectClusterRestartMultinode() throws Exception {
-        // TODO ZK
-        if (!tcpDiscovery())
-            return;
-
         clientMode = true;
 
         final int CLIENTS = 5;
@@ -1270,30 +1262,35 @@ public class IgniteClientReconnectCacheTest extends 
IgniteClientReconnectAbstrac
      *
      */
     static class TestClass1 implements Serializable {
+        // No-op.
     }
 
     /**
      *
      */
     static class TestClass2 implements Serializable {
+        // No-op.
     }
 
     /**
      *
      */
     static class TestClass3 implements Serializable {
+        // No-op.
     }
 
     /**
      *
      */
     static class TestClass4 implements Serializable {
+        // No-op.
     }
 
     /**
      *
      */
     static class TestClass5 implements Serializable {
+        // No-op.
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
index a353689..5be59b0 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
@@ -66,10 +66,6 @@ public class IgniteClientReconnectCollectionsTest extends 
IgniteClientReconnectA
      * @throws Exception If failed.
      */
     public void testCollectionsReconnectClusterRestart() throws Exception {
-        // TODO ZK
-        if (!tcpDiscovery())
-            return;
-
         Ignite client = grid(serverCount());
 
         assertTrue(client.cluster().localNode().isClient());

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectStopTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectStopTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectStopTest.java
index 98588b6..b5c3ee8 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectStopTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectStopTest.java
@@ -23,8 +23,10 @@ import org.apache.ignite.IgniteClientDisconnectedException;
 import org.apache.ignite.IgniteException;
 import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.events.Event;
+import org.apache.ignite.internal.managers.discovery.IgniteDiscoverySpi;
 import org.apache.ignite.lang.IgniteFuture;
 import org.apache.ignite.lang.IgnitePredicate;
+import org.apache.ignite.spi.discovery.DiscoverySpi;
 
 import static org.apache.ignite.events.EventType.EVT_CLIENT_NODE_DISCONNECTED;
 import static org.apache.ignite.events.EventType.EVT_CLIENT_NODE_RECONNECTED;
@@ -42,9 +44,6 @@ public class IgniteClientReconnectStopTest extends 
IgniteClientReconnectAbstract
      * @throws Exception If failed.
      */
     public void testStopWhenDisconnected() throws Exception {
-        if (!tcpDiscovery())
-            return;
-
         clientMode = true;
 
         Ignite client = startGrid(serverCount());
@@ -53,15 +52,19 @@ public class IgniteClientReconnectStopTest extends 
IgniteClientReconnectAbstract
 
         Ignite srv = clientRouter(client);
 
-        TestTcpDiscoverySpi srvSpi = spi(srv);
+        DiscoverySpi srvSpi = spi0(srv);
         final CountDownLatch disconnectLatch = new CountDownLatch(1);
         final CountDownLatch reconnectLatch = new CountDownLatch(1);
 
-        final TestTcpDiscoverySpi clientSpi = spi(client);
+        final IgniteDiscoverySpi clientSpi = spi0(client);
+
+        DiscoverySpiTestListener lsnr = new DiscoverySpiTestListener();
+
+        clientSpi.setInternalListener(lsnr);
 
         log.info("Block reconnect.");
 
-        clientSpi.writeLatch = new CountDownLatch(1);
+        lsnr.startBlockJoin();
 
         client.events().localListen(new IgnitePredicate<Event>() {
             @Override public boolean apply(Event evt) {

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientRejoinTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientRejoinTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientRejoinTest.java
index 67421e2..8edbb52 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientRejoinTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientRejoinTest.java
@@ -256,7 +256,6 @@ public class IgniteClientRejoinTest extends 
GridCommonAbstractTest {
 
         Ignite srv1 = startGrid("server1");
 
-        // TODO ZK
         if (!tcpDiscovery())
             return;
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/test/java/org/apache/ignite/internal/IgniteRoundRobinErrorAfterClientReconnectTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteRoundRobinErrorAfterClientReconnectTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteRoundRobinErrorAfterClientReconnectTest.java
index deea2ea..00a33a6 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteRoundRobinErrorAfterClientReconnectTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteRoundRobinErrorAfterClientReconnectTest.java
@@ -91,12 +91,8 @@ public class IgniteRoundRobinErrorAfterClientReconnectTest 
extends GridCommonAbs
             }
         }, EventType.EVT_CLIENT_NODE_RECONNECTED);
 
-        if (tcpDiscovery()) {
-            stopGrid(SRV_IDX);
-            startGrid(SRV_IDX);
-        }
-        else
-            reconnectClient(log, cli);
+        stopGrid(SRV_IDX);
+        startGrid(SRV_IDX);
 
         assert fut.get();
     }

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsForClusterGroupSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsForClusterGroupSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsForClusterGroupSelfTest.java
index d7b831b..b8f9d70 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsForClusterGroupSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsForClusterGroupSelfTest.java
@@ -118,6 +118,8 @@ public class CacheMetricsForClusterGroupSelfTest extends 
GridCommonAbstractTest
 
     /**
      * Test cluster group metrics in case of statistics disabled.
+     *
+     * @throws Exception If failed.
      */
     public void testMetricsStatisticsDisabled() throws Exception {
         createCaches(false);
@@ -172,7 +174,9 @@ public class CacheMetricsForClusterGroupSelfTest extends 
GridCommonAbstractTest
     }
 
     /**
-     * Wait for {@link EventType#EVT_NODE_METRICS_UPDATED} event will be 
receieved.
+     * Wait for {@link EventType#EVT_NODE_METRICS_UPDATED} event will be 
received.
+     *
+     * @throws InterruptedException If interrupted.
      */
     private void awaitMetricsUpdate() throws InterruptedException {
         final CountDownLatch latch = new CountDownLatch((GRID_CNT + 1) * 2);

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/BinaryMetadataUpdatesFlowTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/BinaryMetadataUpdatesFlowTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/BinaryMetadataUpdatesFlowTest.java
index 1f88bb3..7e8c086 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/BinaryMetadataUpdatesFlowTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/BinaryMetadataUpdatesFlowTest.java
@@ -184,6 +184,7 @@ public class BinaryMetadataUpdatesFlowTest extends 
GridCommonAbstractTest {
      * Starts new ignite node and submits computation job to it.
      * @param idx Index.
      * @param stopFlag Stop flag.
+     * @throws Exception If failed.
      */
     private void startComputation(int idx, AtomicBoolean stopFlag) throws 
Exception {
         clientMode = false;
@@ -199,6 +200,7 @@ public class BinaryMetadataUpdatesFlowTest extends 
GridCommonAbstractTest {
      * @param idx Index.
      * @param deafClient Deaf client.
      * @param observedIds Observed ids.
+     * @throws Exception If failed.
      */
     private void startListening(int idx, boolean deafClient, Set<Integer> 
observedIds) throws Exception {
         clientMode = true;
@@ -269,7 +271,7 @@ public class BinaryMetadataUpdatesFlowTest extends 
GridCommonAbstractTest {
     }
 
     /**
-     *
+     * @throws Exception If failed.
      */
     public void testFlowNoConflicts() throws Exception {
         startComputation(0, stopFlag0);
@@ -311,7 +313,7 @@ public class BinaryMetadataUpdatesFlowTest extends 
GridCommonAbstractTest {
     }
 
     /**
-     *
+     * @throws Exception If failed.
      */
     public void testFlowNoConflictsWithClients() throws Exception {
         startComputation(0, stopFlag0);

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheQueueClientDisconnectTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheQueueClientDisconnectTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheQueueClientDisconnectTest.java
index 71b21de..dac3ff6 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheQueueClientDisconnectTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheQueueClientDisconnectTest.java
@@ -114,10 +114,7 @@ public class GridCacheQueueClientDisconnectTest extends 
GridCommonAbstractTest {
 
             U.sleep(5000);
 
-            if (tcpDiscovery())
-                server.close();
-            else
-                reconnectClient(log, client);
+            server.close();
 
             boolean countReachedZero = latch.await(FAILURE_DETECTION_TIMEOUT * 
2, TimeUnit.MILLISECONDS);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheDhtPreloadSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheDhtPreloadSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheDhtPreloadSelfTest.java
index ed5406f..83eff89 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheDhtPreloadSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheDhtPreloadSelfTest.java
@@ -309,7 +309,7 @@ public class GridCacheDhtPreloadSelfTest extends 
GridCommonAbstractTest {
                 // Check all left nodes.
                 checkActiveState(ignites);
 
-                awaitPartitionMapExchange(); // Need wait, otherwise test 
logic is broken if node fail exchanges are merged.
+                awaitPartitionMapExchange(); // Need wait, otherwise test 
logic is broken if EVT_NODE_FAILED exchanges are merged.
             }
 
             info("Waiting for preload futures: " + F.view(futs, new 
IgnitePredicate<IgniteFuture<?>>() {

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProxyClientReconnectSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProxyClientReconnectSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProxyClientReconnectSelfTest.java
index eb3bc5b..d2fda2f 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProxyClientReconnectSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/service/GridServiceProxyClientReconnectSelfTest.java
@@ -78,13 +78,9 @@ public class GridServiceProxyClientReconnectSelfTest extends 
GridCommonAbstractT
             }
         }, EventType.EVT_CLIENT_NODE_RECONNECTED);
 
-        if (tcpDiscovery()) {
-            stopGrid("server");
+        stopGrid("server");
 
-            startGrid("server");
-        }
-        else
-            reconnectClient(log, client);
+        startGrid("server");
 
         assert latch.await(10, TimeUnit.SECONDS);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/test/java/org/apache/ignite/spi/discovery/AuthenticationRestartTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/AuthenticationRestartTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/AuthenticationRestartTest.java
index c843685..5841094 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/AuthenticationRestartTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/AuthenticationRestartTest.java
@@ -65,21 +65,17 @@ public class AuthenticationRestartTest extends 
GridCommonAbstractTest {
      * @throws Exception If failed.
      */
     public void testClientReconnect() throws Exception {
-        final IgniteEx client = grid("client");
+        stopGrid("server");
 
-        if (tcpDiscovery()) {
-            stopGrid("server");
+        final IgniteEx client = grid("client");
 
-            waitForCondition(new GridAbsPredicate() {
-                @Override public boolean apply() {
-                    return client.cluster().clientReconnectFuture() != null;
-                }
-            }, 10_000);
+        waitForCondition(new GridAbsPredicate() {
+            @Override public boolean apply() {
+                return client.cluster().clientReconnectFuture() != null;
+            }
+        }, 10_000);
 
-            startGrid("server");
-        }
-        else
-            reconnectClient(log, client);
+        startGrid("server");
 
         IgniteFuture<?> fut = client.cluster().clientReconnectFuture();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/core/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
index 390af51..e492860 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
@@ -1913,27 +1913,6 @@ public class ZookeeperDiscoverySpiBasicTest extends 
GridCommonAbstractTest {
     /**
      * @throws Exception If failed.
      */
-    public void testClientReconnectSessionExpire2() throws Exception {
-        sesTimeout = 2000;
-        clientMode(true);
-        testSockNio = true;
-
-        Ignite client0 = startGrid(0);
-
-        reconnectClientNodes(log, Collections.singletonList(client0), null, 
true);
-
-        clientMode(false);
-
-        client0.configuration().getMarshaller().marshal(new 
DummyCallable(null));
-
-        startGrid(1);
-
-        client0.compute().broadcast(new DummyCallable(null));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
     public void testForceClientReconnect() throws Exception {
         final int SRVS = 3;
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3c311a34/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractBasicSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractBasicSelfTest.java
 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractBasicSelfTest.java
index 37dc5c0..1d1dc01 100644
--- 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractBasicSelfTest.java
+++ 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractBasicSelfTest.java
@@ -90,6 +90,7 @@ public abstract class DynamicIndexAbstractBasicSelfTest 
extends DynamicIndexAbst
      * @param mode Mode.
      * @param atomicityMode Atomicity mode.
      * @param near Near flag.
+     * @throws Exception If failed.
      */
     private void initialize(CacheMode mode, CacheAtomicityMode atomicityMode, 
boolean near)
         throws Exception {

Reply via email to