This is an automated email from the ASF dual-hosted git repository.

mpetrov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new b21be217493 IGNITE-28097 Fixed unclosed socket if the client node 
stopped during a reconnect (#12869)
b21be217493 is described below

commit b21be21749394ceebd6fe1a01aff9704e47d6aaa
Author: Mikhail Petrov <[email protected]>
AuthorDate: Wed Mar 11 13:18:07 2026 +0300

    IGNITE-28097 Fixed unclosed socket if the client node stopped during a 
reconnect (#12869)
---
 .../org/apache/ignite/spi/IgniteSpiAdapter.java    | 26 +++++------
 .../ignite/spi/discovery/tcp/ServerImpl.java       |  7 ++-
 .../ignite/spi/discovery/tcp/TcpDiscoverySpi.java  | 51 +++++++++++++++-------
 .../ignite/internal/IgniteClientRejoinTest.java    | 31 +++++++++----
 .../IgniteDiscoveryMassiveNodeFailTest.java        | 16 +++++--
 .../dht/IgniteCacheTopologySplitAbstractTest.java  | 18 +++++---
 .../processors/rest/RestProcessorHangTest.java     |  7 ++-
 .../IgniteTcpCommunicationConnectOnInitTest.java   | 19 +++++---
 .../spi/discovery/tcp/BlockTcpDiscoverySpi.java    |  2 +-
 ...cpClientDiscoverySpiFailureTimeoutSelfTest.java | 10 +++--
 .../tcp/TcpClientDiscoverySpiSelfTest.java         | 23 +++++++---
 .../tcp/TcpClientDiscoveryUnresolvedHostTest.java  |  8 ++--
 .../tcp/TcpDiscoveryCoordinatorFailureTest.java    |  9 ++--
 .../discovery/tcp/TcpDiscoveryFailedJoinTest.java  | 30 +++++++++----
 .../tcp/TcpDiscoveryNetworkIssuesTest.java         | 23 +++++++---
 .../TcpDiscoveryPendingMessageDeliveryTest.java    | 16 +++++--
 .../tcp/TcpDiscoverySpiFailureTimeoutSelfTest.java | 16 ++++---
 .../tcp/TcpDiscoverySpiReconnectDelayTest.java     |  8 +++-
 18 files changed, 218 insertions(+), 102 deletions(-)

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 bcb5b00c7c4..bbf821e17d7 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
@@ -35,8 +35,8 @@ import org.apache.ignite.cluster.ClusterNode;
 import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.events.DiscoveryEvent;
 import org.apache.ignite.events.Event;
+import org.apache.ignite.internal.GridKernalContext;
 import org.apache.ignite.internal.IgniteEx;
-import org.apache.ignite.internal.IgniteKernal;
 import org.apache.ignite.internal.IgniteNodeAttributes;
 import org.apache.ignite.internal.managers.communication.GridMessageListener;
 import org.apache.ignite.internal.managers.eventstorage.GridLocalEventListener;
@@ -952,22 +952,12 @@ public abstract class IgniteSpiAdapter implements 
IgniteSpi {
 
         /** {@inheritDoc} */
         @Override public void addTimeoutObject(IgniteSpiTimeoutObject obj) {
-            Ignite ignite0 = ignite;
-
-            if (!(ignite0 instanceof IgniteKernal))
-                throw new IgniteSpiException("Wrong Ignite instance is set: " 
+ ignite0);
-
-            ((IgniteEx)ignite0).context().timeout().addTimeoutObject(new 
GridSpiTimeoutObject(obj));
+            context().timeout().addTimeoutObject(new 
GridSpiTimeoutObject(obj));
         }
 
         /** {@inheritDoc} */
         @Override public void removeTimeoutObject(IgniteSpiTimeoutObject obj) {
-            Ignite ignite0 = ignite;
-
-            if (!(ignite0 instanceof IgniteKernal))
-                throw new IgniteSpiException("Wrong Ignite instance is set: " 
+ ignite0);
-
-            ((IgniteEx)ignite0).context().timeout().removeTimeoutObject(new 
GridSpiTimeoutObject(obj));
+            context().timeout().removeTimeoutObject(new 
GridSpiTimeoutObject(obj));
         }
 
         /** {@inheritDoc} */
@@ -1004,5 +994,15 @@ public abstract class IgniteSpiAdapter implements 
IgniteSpi {
         @Override public void 
addMetricRegistryCreationListener(Consumer<ReadOnlyMetricRegistry> lsnr) {
             // No-op.
         }
+
+        /** */
+        private GridKernalContext context() {
+            Ignite ignite0 = ignite;
+
+            if (ignite0 == null)
+                throw new IgniteSpiException(isStopping() ? "The node is 
stopping" : "The node is not yet started");
+
+            return ((IgniteEx)ignite0).context();
+        }
     }
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index 61052671449..9006c05df58 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -7460,10 +7460,13 @@ class ServerImpl extends TcpDiscoveryImpl {
          * @param clientMsgWrk Client message worker to start.
          * @return Whether connection was successful.
          * @throws IOException If IO failed.
+         * @throws IgniteCheckedException If node is not yet initialized or is 
stopping.
          */
         @SuppressWarnings({"IfMayBeConditional"})
-        private boolean 
processJoinRequestMessage(TcpDiscoveryJoinRequestMessage msg,
-            @Nullable ClientMessageWorker clientMsgWrk) throws IOException {
+        private boolean processJoinRequestMessage(
+            TcpDiscoveryJoinRequestMessage msg,
+            @Nullable ClientMessageWorker clientMsgWrk
+        ) throws IOException, IgniteCheckedException {
             assert msg != null;
             assert !msg.responded();
 
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 c91dffcb5e7..a4b7cb80c94 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
@@ -1573,9 +1573,12 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter 
implements IgniteDiscovery
      * @return Opened socket.
      * @throws IOException If failed.
      * @throws IgniteSpiOperationTimeoutException In case of timeout.
+     * @throws IgniteCheckedException If node is not yet initialized or is 
stopping.
      */
-    protected Socket openSocket(InetSocketAddress sockAddr, 
IgniteSpiOperationTimeoutHelper timeoutHelper)
-        throws IOException, IgniteSpiOperationTimeoutException {
+    protected Socket openSocket(
+        InetSocketAddress sockAddr,
+        IgniteSpiOperationTimeoutHelper timeoutHelper
+    ) throws IOException, IgniteSpiOperationTimeoutException, 
IgniteCheckedException {
         return openSocket(createSocket(), sockAddr, timeoutHelper);
     }
 
@@ -1588,10 +1591,13 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter 
implements IgniteDiscovery
      * @return Connected socket.
      * @throws IOException If failed.
      * @throws IgniteSpiOperationTimeoutException In case of timeout.
+     * @throws IgniteCheckedException If node is not yet initialized or is 
stopping.
      */
-    protected Socket openSocket(Socket sock, InetSocketAddress remAddr, 
IgniteSpiOperationTimeoutHelper timeoutHelper)
-        throws IOException, IgniteSpiOperationTimeoutException {
-
+    protected Socket openSocket(
+        Socket sock,
+        InetSocketAddress remAddr,
+        IgniteSpiOperationTimeoutHelper timeoutHelper
+    ) throws IOException, IgniteSpiOperationTimeoutException, 
IgniteCheckedException {
         assert remAddr != null;
 
         try {
@@ -1608,7 +1614,7 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter 
implements IgniteDiscovery
 
             return sock;
         }
-        catch (IOException | IgniteSpiOperationTimeoutException e) {
+        catch (IOException | IgniteCheckedException e) {
             if (sock != null)
                 U.closeQuiet(sock);
 
@@ -1686,8 +1692,14 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter 
implements IgniteDiscovery
      * @param data Raw data to write.
      * @param timeout Socket write timeout.
      * @throws IOException If IO failed or write timed out.
+     * @throws IgniteCheckedException If node is not yet initialized or is 
stopping.
      */
-    protected void writeToSocket(Socket sock, TcpDiscoveryAbstractMessage msg, 
byte[] data, long timeout) throws IOException {
+    protected void writeToSocket(
+        Socket sock,
+        TcpDiscoveryAbstractMessage msg,
+        byte[] data,
+        long timeout
+    ) throws IOException, IgniteCheckedException {
         assert sock != null;
         assert data != null;
 
@@ -1771,9 +1783,14 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter 
implements IgniteDiscovery
      * @param res Integer response.
      * @param timeout Socket timeout.
      * @throws IOException If IO failed or write timed out.
+     * @throws IgniteCheckedException If node is not yet initialized or is 
stopping.
      */
-    protected void writeToSocket(TcpDiscoveryAbstractMessage msg, Socket sock, 
int res, long timeout)
-        throws IOException {
+    protected void writeToSocket(
+        TcpDiscoveryAbstractMessage msg,
+        Socket sock,
+        int res,
+        long timeout
+    ) throws IOException, IgniteCheckedException {
         assert sock != null;
 
         try (SocketTimeoutObject ignored = startTimer(sock, timeout)) {
@@ -1799,8 +1816,7 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter 
implements IgniteDiscovery
      * @throws IOException If IO failed or read timed out.
      * @throws IgniteCheckedException If unmarshalling failed.
      */
-    protected <T> T readMessage(TcpDiscoveryIoSession ses, long timeout) 
throws IOException,
-        IgniteCheckedException {
+    protected <T> T readMessage(TcpDiscoveryIoSession ses, long timeout) 
throws IOException, IgniteCheckedException {
         Socket sock = ses.socket();
 
         assert sock != null;
@@ -2445,12 +2461,17 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter 
implements IgniteDiscovery
     }
 
     /** Starts a timer for a socket operation. */
-    private SocketTimeoutObject startTimer(Socket sock, long timeout) {
-        SocketTimeoutObject obj = new SocketTimeoutObject(sock, 
U.currentTimeMillis() + timeout);
+    private SocketTimeoutObject startTimer(Socket sock, long timeout) throws 
IgniteCheckedException {
+        try {
+            SocketTimeoutObject obj = new SocketTimeoutObject(sock, 
U.currentTimeMillis() + timeout);
 
-        addTimeoutObject(obj);
+            addTimeoutObject(obj);
 
-        return obj;
+            return obj;
+        }
+        catch (IgniteSpiException e) {
+            throw new IgniteCheckedException("Failed to perform socket 
operation", e);
+        }
     }
 
     /**
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 b29a8171fbc..4a5ced6eb64 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
@@ -42,7 +42,6 @@ import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.lang.IgniteInClosure;
 import org.apache.ignite.plugin.extensions.communication.Message;
 import org.apache.ignite.spi.IgniteSpiException;
-import org.apache.ignite.spi.IgniteSpiOperationTimeoutException;
 import org.apache.ignite.spi.IgniteSpiOperationTimeoutHelper;
 import org.apache.ignite.spi.discovery.tcp.TcpDiscoveryIoSession;
 import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
@@ -354,8 +353,12 @@ public class IgniteClientRejoinTest extends 
GridCommonAbstractTest {
      */
     private class DiscoverySpi extends TcpDiscoverySpi {
         /** {@inheritDoc} */
-        @Override protected void writeToSocket(Socket sock, 
TcpDiscoveryAbstractMessage msg, byte[] data,
-            long timeout) throws IOException {
+        @Override protected void writeToSocket(
+            Socket sock,
+            TcpDiscoveryAbstractMessage msg,
+            byte[] data,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             if (blockAll || block && sock.getPort() == 47500)
                 throw new SocketException("Test discovery exception");
 
@@ -363,8 +366,11 @@ public class IgniteClientRejoinTest extends 
GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override protected void writeMessage(TcpDiscoveryIoSession ses, 
TcpDiscoveryAbstractMessage msg,
-            long timeout) throws IOException, IgniteCheckedException {
+        @Override protected void writeMessage(
+            TcpDiscoveryIoSession ses,
+            TcpDiscoveryAbstractMessage msg,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             if (blockAll || block && ses.socket().getPort() == 47500)
                 throw new SocketException("Test discovery exception");
 
@@ -372,8 +378,12 @@ public class IgniteClientRejoinTest extends 
GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override protected void writeToSocket(TcpDiscoveryAbstractMessage 
msg, Socket sock, int res,
-            long timeout) throws IOException {
+        @Override protected void writeToSocket(
+            TcpDiscoveryAbstractMessage msg,
+            Socket sock,
+            int res,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             if (blockAll || block && sock.getPort() == 47500)
                 throw new SocketException("Test discovery exception");
 
@@ -381,8 +391,11 @@ public class IgniteClientRejoinTest extends 
GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override protected Socket openSocket(Socket sock, InetSocketAddress 
remAddr,
-            IgniteSpiOperationTimeoutHelper timeoutHelper) throws IOException, 
IgniteSpiOperationTimeoutException {
+        @Override protected Socket openSocket(
+            Socket sock,
+            InetSocketAddress remAddr,
+            IgniteSpiOperationTimeoutHelper timeoutHelper
+        ) throws IOException, IgniteCheckedException {
             if (blockAll || block && sock.getPort() == 47500)
                 throw new SocketException("Test discovery exception");
 
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteDiscoveryMassiveNodeFailTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteDiscoveryMassiveNodeFailTest.java
index b69d65446ff..f69d068efe1 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteDiscoveryMassiveNodeFailTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteDiscoveryMassiveNodeFailTest.java
@@ -302,8 +302,12 @@ public class IgniteDiscoveryMassiveNodeFailTest extends 
GridCommonAbstractTest {
      */
     private class FailDiscoverySpi extends TcpDiscoverySpi {
         /** {@inheritDoc} */
-        @Override protected void writeToSocket(Socket sock, 
TcpDiscoveryAbstractMessage msg, byte[] data,
-            long timeout) throws IOException {
+        @Override protected void writeToSocket(
+            Socket sock,
+            TcpDiscoveryAbstractMessage msg,
+            byte[] data,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             assertNotFailedNode(sock);
 
             if (isDrop(msg))
@@ -336,8 +340,12 @@ public class IgniteDiscoveryMassiveNodeFailTest extends 
GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override protected void writeToSocket(TcpDiscoveryAbstractMessage 
msg, Socket sock, int res,
-            long timeout) throws IOException {
+        @Override protected void writeToSocket(
+            TcpDiscoveryAbstractMessage msg,
+            Socket sock,
+            int res,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             assertNotFailedNode(sock);
 
             if (isDrop(msg))
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheTopologySplitAbstractTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheTopologySplitAbstractTest.java
index fdfb3b90cd3..14cb10543ca 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheTopologySplitAbstractTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheTopologySplitAbstractTest.java
@@ -35,7 +35,6 @@ import org.apache.ignite.internal.util.typedef.G;
 import org.apache.ignite.lang.IgniteBiPredicate;
 import org.apache.ignite.lang.IgnitePredicate;
 import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.spi.IgniteSpiOperationTimeoutException;
 import org.apache.ignite.spi.IgniteSpiOperationTimeoutHelper;
 import org.apache.ignite.spi.discovery.tcp.TcpDiscoveryIoSession;
 import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
@@ -208,8 +207,11 @@ public abstract class IgniteCacheTopologySplitAbstractTest 
extends GridCommonAbs
         }
 
         /** {@inheritDoc} */
-        @Override protected Socket openSocket(Socket sock, InetSocketAddress 
remAddr,
-            IgniteSpiOperationTimeoutHelper timeoutHelper) throws IOException, 
IgniteSpiOperationTimeoutException {
+        @Override protected Socket openSocket(
+            Socket sock,
+            InetSocketAddress remAddr,
+            IgniteSpiOperationTimeoutHelper timeoutHelper
+        ) throws IOException, IgniteCheckedException {
             checkSegmented(remAddr, 
timeoutHelper.nextTimeoutChunk(getSocketTimeout()));
 
             return super.openSocket(sock, remAddr, timeoutHelper);
@@ -221,7 +223,7 @@ public abstract class IgniteCacheTopologySplitAbstractTest 
extends GridCommonAbs
             TcpDiscoveryAbstractMessage msg,
             byte[] data,
             long timeout
-        ) throws IOException {
+        ) throws IOException, IgniteCheckedException {
             checkSegmented((InetSocketAddress)sock.getRemoteSocketAddress(), 
timeout);
 
             super.writeToSocket(sock, msg, data, timeout);
@@ -237,8 +239,12 @@ public abstract class IgniteCacheTopologySplitAbstractTest 
extends GridCommonAbs
         }
 
         /** {@inheritDoc} */
-        @Override protected void writeToSocket(TcpDiscoveryAbstractMessage 
msg, Socket sock, int res,
-            long timeout) throws IOException {
+        @Override protected void writeToSocket(
+            TcpDiscoveryAbstractMessage msg,
+            Socket sock,
+            int res,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             checkSegmented((InetSocketAddress)sock.getRemoteSocketAddress(), 
timeout);
 
             super.writeToSocket(msg, sock, res, timeout);
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorHangTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorHangTest.java
index 124934a77d4..1fb395f619f 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorHangTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorHangTest.java
@@ -72,7 +72,12 @@ public class RestProcessorHangTest extends 
GridCommonAbstractTest {
 
         // Discovery spi that never allows connecting.
         TestTcpDiscoverySpi discoSpi = new TestTcpDiscoverySpi() {
-            @Override protected void writeToSocket(TcpDiscoveryAbstractMessage 
msg, Socket sock, int res, long timeout) throws IOException {
+            @Override protected void writeToSocket(
+                TcpDiscoveryAbstractMessage msg,
+                Socket sock,
+                int res,
+                long timeout
+            ) throws IOException, IgniteCheckedException {
                 try {
                     // Wait until request is added to rest processor.
                     latch.await();
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteTcpCommunicationConnectOnInitTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteTcpCommunicationConnectOnInitTest.java
index ab8022dbdd2..5955faaf9a9 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteTcpCommunicationConnectOnInitTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteTcpCommunicationConnectOnInitTest.java
@@ -33,7 +33,6 @@ import 
org.apache.ignite.internal.util.nio.GridNioServerListenerAdapter;
 import org.apache.ignite.internal.util.nio.GridNioSession;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.spi.IgniteSpiException;
-import org.apache.ignite.spi.IgniteSpiOperationTimeoutException;
 import org.apache.ignite.spi.IgniteSpiOperationTimeoutHelper;
 import org.apache.ignite.spi.communication.tcp.messages.HandshakeWaitMessage;
 import org.apache.ignite.spi.discovery.tcp.TcpDiscoveryIoSession;
@@ -183,7 +182,7 @@ public class IgniteTcpCommunicationConnectOnInitTest 
extends GridCommonAbstractT
         @Override protected Socket openSocket(
             InetSocketAddress sockAddr,
             IgniteSpiOperationTimeoutHelper timeoutHelper
-        ) throws IOException, IgniteSpiOperationTimeoutException {
+        ) throws IOException, IgniteCheckedException {
             awaitLatch();
 
             return super.openSocket(sockAddr, timeoutHelper);
@@ -194,14 +193,19 @@ public class IgniteTcpCommunicationConnectOnInitTest 
extends GridCommonAbstractT
             Socket sock,
             InetSocketAddress remAddr,
             IgniteSpiOperationTimeoutHelper timeoutHelper
-        ) throws IOException, IgniteSpiOperationTimeoutException {
+        ) throws IOException, IgniteCheckedException {
             awaitLatch();
 
             return super.openSocket(sock, remAddr, timeoutHelper);
         }
 
         /** {@inheritDoc} */
-        @Override protected void writeToSocket(Socket sock, 
TcpDiscoveryAbstractMessage msg, byte[] data, long timeout) throws IOException {
+        @Override protected void writeToSocket(
+            Socket sock,
+            TcpDiscoveryAbstractMessage msg,
+            byte[] data,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             awaitLatch();
 
             super.writeToSocket(sock, msg, data, timeout);
@@ -219,7 +223,12 @@ public class IgniteTcpCommunicationConnectOnInitTest 
extends GridCommonAbstractT
         }
 
         /** {@inheritDoc} */
-        @Override protected void writeToSocket(TcpDiscoveryAbstractMessage 
msg, Socket sock, int res, long timeout) throws IOException {
+        @Override protected void writeToSocket(
+            TcpDiscoveryAbstractMessage msg,
+            Socket sock,
+            int res,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             awaitLatch();
 
             super.writeToSocket(msg, sock, res, timeout);
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/BlockTcpDiscoverySpi.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/BlockTcpDiscoverySpi.java
index ae34c8e4160..020d5f78f23 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/BlockTcpDiscoverySpi.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/BlockTcpDiscoverySpi.java
@@ -72,7 +72,7 @@ public class BlockTcpDiscoverySpi extends TestTcpDiscoverySpi 
{
         TcpDiscoveryAbstractMessage msg,
         byte[] data,
         long timeout
-    ) throws IOException {
+    ) throws IOException, IgniteCheckedException {
         if (spiCtx != null)
             apply(spiCtx.localNode(), msg);
 
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiFailureTimeoutSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiFailureTimeoutSelfTest.java
index 7eef5a2739b..fce28c1f2a4 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiFailureTimeoutSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiFailureTimeoutSelfTest.java
@@ -452,7 +452,7 @@ public class TcpClientDiscoverySpiFailureTimeoutSelfTest 
extends TcpClientDiscov
             TcpDiscoveryAbstractMessage msg,
             byte[] data,
             long timeout
-        ) throws IOException {
+        ) throws IOException, IgniteCheckedException {
             if (writeToSocketDelay > 0) {
                 try {
                     U.dumpStack(log, "Before sleep [msg=" + msg +
@@ -472,9 +472,11 @@ public class TcpClientDiscoverySpiFailureTimeoutSelfTest 
extends TcpClientDiscov
         }
 
         /**  */
-        @Override protected void writeMessage(TcpDiscoveryIoSession ses,
+        @Override protected void writeMessage(
+            TcpDiscoveryIoSession ses,
             TcpDiscoveryAbstractMessage msg,
-            long timeout) throws IOException, IgniteCheckedException {
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             if (writeToSocketDelay > 0) {
                 try {
                     U.dumpStack(log, "Before sleep [msg=" + msg + ']');
@@ -498,7 +500,7 @@ public class TcpClientDiscoverySpiFailureTimeoutSelfTest 
extends TcpClientDiscov
             Socket sock,
             int res,
             long timeout
-        ) throws IOException {
+        ) throws IOException, IgniteCheckedException {
             if (writeToSocketDelay > 0) {
                 try {
                     U.dumpStack(log, "Before sleep [msg=" + msg + ']');
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java
index 6ca4782c65c..8bc4664977a 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java
@@ -61,7 +61,6 @@ import org.apache.ignite.lang.IgnitePredicate;
 import org.apache.ignite.plugin.segmentation.SegmentationPolicy;
 import org.apache.ignite.resources.IgniteInstanceResource;
 import org.apache.ignite.spi.IgniteSpiException;
-import org.apache.ignite.spi.IgniteSpiOperationTimeoutException;
 import org.apache.ignite.spi.IgniteSpiOperationTimeoutHelper;
 import org.apache.ignite.spi.IgniteSpiThread;
 import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
@@ -2587,8 +2586,12 @@ public class TcpClientDiscoverySpiSelfTest extends 
GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override protected void writeToSocket(Socket sock, 
TcpDiscoveryAbstractMessage msg, byte[] msgBytes,
-            long timeout) throws IOException {
+        @Override protected void writeToSocket(
+            Socket sock,
+            TcpDiscoveryAbstractMessage msg,
+            byte[] msgBytes,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             waitFor(writeLock);
 
             if (!onMessage(sock, msg))
@@ -2633,8 +2636,10 @@ public class TcpClientDiscoverySpiSelfTest extends 
GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override protected Socket openSocket(InetSocketAddress sockAddr,
-            IgniteSpiOperationTimeoutHelper timeoutHelper) throws IOException, 
IgniteSpiOperationTimeoutException {
+        @Override protected Socket openSocket(
+            InetSocketAddress sockAddr,
+            IgniteSpiOperationTimeoutHelper timeoutHelper
+        ) throws IOException, IgniteCheckedException {
             waitFor(openSockLock);
 
             return super.openSocket(sockAddr, timeoutHelper);
@@ -2670,8 +2675,12 @@ public class TcpClientDiscoverySpiSelfTest extends 
GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override protected void writeToSocket(TcpDiscoveryAbstractMessage 
msg, Socket sock, int res, long timeout)
-            throws IOException {
+        @Override protected void writeToSocket(
+            TcpDiscoveryAbstractMessage msg,
+            Socket sock,
+            int res,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             if (delayJoinAckFor != null && msg instanceof 
TcpDiscoveryJoinRequestMessage) {
                 TcpDiscoveryJoinRequestMessage msg0 = 
(TcpDiscoveryJoinRequestMessage)msg;
 
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoveryUnresolvedHostTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoveryUnresolvedHostTest.java
index b0249c39513..de4dd6f7b0a 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoveryUnresolvedHostTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoveryUnresolvedHostTest.java
@@ -86,9 +86,11 @@ public class TcpClientDiscoveryUnresolvedHostTest extends 
GridCommonAbstractTest
         }
 
         /** {@inheritDoc} */
-        @Override protected Socket openSocket(Socket sock, InetSocketAddress 
remAddr, IgniteSpiOperationTimeoutHelper timeoutHelper)
-            throws IOException, IgniteSpiOperationTimeoutException {
-
+        @Override protected Socket openSocket(
+            Socket sock,
+            InetSocketAddress remAddr,
+            IgniteSpiOperationTimeoutHelper timeoutHelper
+        ) throws IOException, IgniteCheckedException {
             try {
                 return super.openSocket(sock, remAddr, timeoutHelper);
             }
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryCoordinatorFailureTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryCoordinatorFailureTest.java
index 479cee26f66..2421a74c181 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryCoordinatorFailureTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryCoordinatorFailureTest.java
@@ -30,7 +30,6 @@ import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.internal.IgniteEx;
 import org.apache.ignite.internal.IgniteInternalFuture;
 import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.spi.IgniteSpiOperationTimeoutException;
 import org.apache.ignite.spi.IgniteSpiOperationTimeoutHelper;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
 import 
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage;
@@ -209,7 +208,7 @@ public class TcpDiscoveryCoordinatorFailureTest extends 
GridCommonAbstractTest {
         @Override protected Socket openSocket(
             InetSocketAddress sockAddr,
             IgniteSpiOperationTimeoutHelper timeoutHelper
-        ) throws IOException, IgniteSpiOperationTimeoutException {
+        ) throws IOException, IgniteCheckedException {
             checkStall();
 
             return super.openSocket(sockAddr, timeoutHelper);
@@ -220,7 +219,7 @@ public class TcpDiscoveryCoordinatorFailureTest extends 
GridCommonAbstractTest {
             Socket sock,
             InetSocketAddress remAddr,
             IgniteSpiOperationTimeoutHelper timeoutHelper
-        ) throws IOException, IgniteSpiOperationTimeoutException {
+        ) throws IOException, IgniteCheckedException {
             checkStall();
 
             return super.openSocket(sock, remAddr, timeoutHelper);
@@ -292,7 +291,7 @@ public class TcpDiscoveryCoordinatorFailureTest extends 
GridCommonAbstractTest {
             TcpDiscoveryAbstractMessage msg,
             byte[] data,
             long timeout
-        ) throws IOException {
+        ) throws IOException, IgniteCheckedException {
             if (isDrop(msg)) {
                 // Replace logic routine message with a stub to update 
last-sent-time to avoid segmentation on
                 // connRecoveryTimeout.
@@ -323,7 +322,7 @@ public class TcpDiscoveryCoordinatorFailureTest extends 
GridCommonAbstractTest {
             Socket sock,
             int res,
             long timeout
-        ) throws IOException {
+        ) throws IOException, IgniteCheckedException {
             if (isDrop(msg)) {
                 // Replace logic routine message with a stub to update 
last-sent-time to avoid segmentation on
                 // connRecoveryTimeout.
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryFailedJoinTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryFailedJoinTest.java
index e1e647c01e6..9b6b8e4aa2f 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryFailedJoinTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryFailedJoinTest.java
@@ -31,7 +31,6 @@ import 
org.apache.ignite.internal.processors.query.DummyQueryIndexing;
 import org.apache.ignite.internal.processors.query.GridQueryProcessor;
 import org.apache.ignite.internal.util.GridSpinBusyLock;
 import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.spi.IgniteSpiOperationTimeoutException;
 import org.apache.ignite.spi.IgniteSpiOperationTimeoutHelper;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
 import 
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage;
@@ -168,8 +167,10 @@ public class TcpDiscoveryFailedJoinTest extends 
GridCommonAbstractTest {
      */
     private static class FailTcpDiscoverySpi extends TcpDiscoverySpi {
         /** {@inheritDoc} */
-        @Override protected Socket openSocket(InetSocketAddress sockAddr,
-            IgniteSpiOperationTimeoutHelper timeoutHelper) throws IOException, 
IgniteSpiOperationTimeoutException {
+        @Override protected Socket openSocket(
+            InetSocketAddress sockAddr,
+            IgniteSpiOperationTimeoutHelper timeoutHelper
+        ) throws IOException, IgniteCheckedException {
             if (sockAddr.getPort() == FAIL_PORT)
                 throw new SocketException("Connection refused");
 
@@ -177,8 +178,11 @@ public class TcpDiscoveryFailedJoinTest extends 
GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override protected Socket openSocket(Socket sock, InetSocketAddress 
remAddr,
-            IgniteSpiOperationTimeoutHelper timeoutHelper) throws IOException, 
IgniteSpiOperationTimeoutException {
+        @Override protected Socket openSocket(
+            Socket sock,
+            InetSocketAddress remAddr,
+            IgniteSpiOperationTimeoutHelper timeoutHelper
+        ) throws IOException, IgniteCheckedException {
             if (remAddr.getPort() == FAIL_PORT)
                 throw new SocketException("Connection refused");
 
@@ -191,8 +195,12 @@ public class TcpDiscoveryFailedJoinTest extends 
GridCommonAbstractTest {
      */
     private static class DropTcpDiscoverySpi extends TcpDiscoverySpi {
         /** {@inheritDoc} */
-        @Override protected void writeToSocket(Socket sock, 
TcpDiscoveryAbstractMessage msg, byte[] data,
-            long timeout) throws IOException {
+        @Override protected void writeToSocket(
+            Socket sock,
+            TcpDiscoveryAbstractMessage msg,
+            byte[] data,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             if (sock.getPort() != FAIL_PORT)
                 super.writeToSocket(sock, msg, data, timeout);
         }
@@ -205,8 +213,12 @@ public class TcpDiscoveryFailedJoinTest extends 
GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override protected void writeToSocket(TcpDiscoveryAbstractMessage 
msg, Socket sock, int res,
-            long timeout) throws IOException {
+        @Override protected void writeToSocket(
+            TcpDiscoveryAbstractMessage msg,
+            Socket sock,
+            int res,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             if (sock.getPort() != FAIL_PORT)
                 super.writeToSocket(msg, sock, res, timeout);
         }
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryNetworkIssuesTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryNetworkIssuesTest.java
index 60db3be1436..4175f0b61fa 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryNetworkIssuesTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryNetworkIssuesTest.java
@@ -49,7 +49,6 @@ import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.internal.util.typedef.G;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.internal.util.worker.GridWorker;
-import org.apache.ignite.spi.IgniteSpiOperationTimeoutException;
 import org.apache.ignite.spi.IgniteSpiOperationTimeoutHelper;
 import org.apache.ignite.spi.communication.CommunicationSpi;
 import org.apache.ignite.spi.communication.tcp.internal.GridNioServerWrapper;
@@ -199,8 +198,10 @@ public class TcpDiscoveryNetworkIssuesTest extends 
GridCommonAbstractTest {
                 return super.readReceipt(sock, timeout);
             }
 
-            @Override protected Socket openSocket(InetSocketAddress sockAddr,
-                IgniteSpiOperationTimeoutHelper timeoutHelper) throws 
IOException, IgniteSpiOperationTimeoutException {
+            @Override protected Socket openSocket(
+                InetSocketAddress sockAddr,
+                IgniteSpiOperationTimeoutHelper timeoutHelper
+            ) throws IOException, IgniteCheckedException {
                 if (netBroken.get() && sockAddr.getPort() == NODE_4_PORT)
                     throw new SocketTimeoutException("connect timed out");
 
@@ -617,8 +618,12 @@ public class TcpDiscoveryNetworkIssuesTest extends 
GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override protected void writeToSocket(TcpDiscoveryAbstractMessage 
msg, Socket sock, int res,
-            long timeout) throws IOException {
+        @Override protected void writeToSocket(
+            TcpDiscoveryAbstractMessage msg,
+            Socket sock,
+            int res,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             if (dropMsg(sock))
                 return;
 
@@ -644,8 +649,12 @@ public class TcpDiscoveryNetworkIssuesTest extends 
GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override protected void writeToSocket(Socket sock, 
TcpDiscoveryAbstractMessage msg, byte[] data,
-            long timeout) throws IOException {
+        @Override protected void writeToSocket(
+            Socket sock,
+            TcpDiscoveryAbstractMessage msg,
+            byte[] data,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             if (dropMsg(sock))
                 return;
 
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryPendingMessageDeliveryTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryPendingMessageDeliveryTest.java
index e388778cf1b..30f7ad478f4 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryPendingMessageDeliveryTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryPendingMessageDeliveryTest.java
@@ -253,8 +253,12 @@ public class TcpDiscoveryPendingMessageDeliveryTest 
extends GridCommonAbstractTe
      */
     private class DyingDiscoverySpi extends TcpDiscoverySpi {
         /** {@inheritDoc} */
-        @Override protected void writeToSocket(Socket sock, 
TcpDiscoveryAbstractMessage msg, byte[] data,
-            long timeout) throws IOException {
+        @Override protected void writeToSocket(
+            Socket sock,
+            TcpDiscoveryAbstractMessage msg,
+            byte[] data,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             if (!blockMsgs)
                 super.writeToSocket(sock, msg, data, timeout);
         }
@@ -267,8 +271,12 @@ public class TcpDiscoveryPendingMessageDeliveryTest 
extends GridCommonAbstractTe
         }
 
         /** {@inheritDoc} */
-        @Override protected void writeToSocket(TcpDiscoveryAbstractMessage 
msg, Socket sock, int res,
-            long timeout) throws IOException {
+        @Override protected void writeToSocket(
+            TcpDiscoveryAbstractMessage msg,
+            Socket sock,
+            int res,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             if (!blockMsgs)
                 super.writeToSocket(msg, sock, res, timeout);
         }
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiFailureTimeoutSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiFailureTimeoutSelfTest.java
index 55f83d72fc6..b7d34e25441 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiFailureTimeoutSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiFailureTimeoutSelfTest.java
@@ -263,9 +263,11 @@ public class TcpDiscoverySpiFailureTimeoutSelfTest extends 
AbstractDiscoverySelf
 
 
         /** {@inheritDoc} */
-        @Override protected Socket openSocket(Socket sock, InetSocketAddress 
sockAddr,
-            IgniteSpiOperationTimeoutHelper timeoutHelper)
-            throws IOException, IgniteSpiOperationTimeoutException {
+        @Override protected Socket openSocket(
+            Socket sock,
+            InetSocketAddress sockAddr,
+            IgniteSpiOperationTimeoutHelper timeoutHelper
+        ) throws IOException, IgniteCheckedException {
 
             if (openSockTimeout) {
                 err = new IgniteSpiOperationTimeoutException("Timeout: 
openSocketTimeout");
@@ -332,8 +334,12 @@ public class TcpDiscoverySpiFailureTimeoutSelfTest extends 
AbstractDiscoverySelf
         }
 
         /** {@inheritDoc} */
-        @Override protected void writeToSocket(TcpDiscoveryAbstractMessage 
msg, Socket sock, int res, long timeout)
-            throws IOException {
+        @Override protected void writeToSocket(
+            TcpDiscoveryAbstractMessage msg,
+            Socket sock,
+            int res,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
             if (cntConnCheckMsg && msg instanceof 
TcpDiscoveryConnectionCheckMessage)
                 connCheckStatusMsgCntReceived++;
 
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiReconnectDelayTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiReconnectDelayTest.java
index 5a0726e7a60..4191afddc4e 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiReconnectDelayTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiReconnectDelayTest.java
@@ -409,8 +409,12 @@ public class TcpDiscoverySpiReconnectDelayTest extends 
GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override protected void writeToSocket(TcpDiscoveryAbstractMessage 
msg, Socket sock, int res,
-            long timeout) throws IOException {
+        @Override protected void writeToSocket(
+            TcpDiscoveryAbstractMessage msg,
+            Socket sock,
+            int res,
+            long timeout
+        ) throws IOException, IgniteCheckedException {
 
             if (msg instanceof TcpDiscoveryJoinRequestMessage && 
failJoinReqRes.getAndDecrement() > 0)
                 res = RES_WAIT;


Reply via email to