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 bcb5b00c7c409..bbf821e17d799 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.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 @@ private class GridDummySpiContext implements IgniteSpiContext { /** {@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 @@ private class GridDummySpiContext implements IgniteSpiContext { @Override public void addMetricRegistryCreationListener(Consumer 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 610526714495b..9006c05df5830 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 @@ else if (log.isDebugEnabled()) * @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 c91dffcb5e7ee..a4b7cb80c9439 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 long getCoordinatorSinceTimestamp() { * @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 @@ protected Socket openSocket(InetSocketAddress sockAddr, IgniteSpiOperationTimeou * @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 @@ protected Socket openSocket(Socket sock, InetSocketAddress remAddr, IgniteSpiOpe return sock; } - catch (IOException | IgniteSpiOperationTimeoutException e) { + catch (IOException | IgniteCheckedException e) { if (sock != null) U.closeQuiet(sock); @@ -1686,8 +1692,14 @@ Socket createSocket() throws IOException { * @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 @@ protected void writeMessage( * @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 @@ protected void writeToSocket(TcpDiscoveryAbstractMessage msg, Socket sock, int r * @throws IOException If IO failed or read timed out. * @throws IgniteCheckedException If unmarshalling failed. */ - protected T readMessage(TcpDiscoveryIoSession ses, long timeout) throws IOException, - IgniteCheckedException { + protected T readMessage(TcpDiscoveryIoSession ses, long timeout) throws IOException, IgniteCheckedException { Socket sock = ses.socket(); assert sock != null; @@ -2445,12 +2461,17 @@ protected Marshaller marshaller() { } /** 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 b29a8171fbce4..4a5ced6eb6406 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.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 @@ private class TcpCommunicationSpi extends org.apache.ignite.spi.communication.tc */ 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 @@ private class DiscoverySpi extends TcpDiscoverySpi { } /** {@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 @@ private class DiscoverySpi extends TcpDiscoverySpi { } /** {@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 @@ private class DiscoverySpi extends TcpDiscoverySpi { } /** {@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 b69d65446ff1b..f69d068efe147 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 void testRecoveryOnDisconnect() throws Exception { */ 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 @@ private boolean isDrop(TcpDiscoveryAbstractMessage msg) { } /** {@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 fdfb3b90cd3f5..14cb10543ca2f 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.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 @@ protected void checkSegmented(InetSocketAddress sockAddr, long timeout) throws S } /** {@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 @@ protected void checkSegmented(InetSocketAddress sockAddr, long timeout) throws S 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 @@ protected void checkSegmented(InetSocketAddress sockAddr, long timeout) throws S } /** {@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 124934a77d4a2..1fb395f619fb3 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 void testNodeStopOnDiscoverySpiFailTest() throws Exception { // 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 ab8022dbdd22b..5955faaf9a973 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.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 @@ private class TestDiscoverySpi extends TcpDiscoverySpi { @Override protected Socket openSocket( InetSocketAddress sockAddr, IgniteSpiOperationTimeoutHelper timeoutHelper - ) throws IOException, IgniteSpiOperationTimeoutException { + ) throws IOException, IgniteCheckedException { awaitLatch(); return super.openSocket(sockAddr, timeoutHelper); @@ -194,14 +193,19 @@ private class TestDiscoverySpi extends TcpDiscoverySpi { 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 @@ private class TestDiscoverySpi extends TcpDiscoverySpi { } /** {@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 ae34c8e41603d..020d5f78f2319 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 @@ private synchronized void apply(ClusterNode addr, TcpDiscoveryAbstractMessage ms 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 7eef5a2739b74..fce28c1f2a4a2 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 @@ private static class TestTcpDiscoverySpi2 extends TcpDiscoverySpi { 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 @@ private static class TestTcpDiscoverySpi2 extends TcpDiscoverySpi { } /** */ - @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 @@ private static class TestTcpDiscoverySpi2 extends TcpDiscoverySpi { 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 6ca4782c65c4f..8bc4664977ad3 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.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 @@ private void pauseResumeOperation(boolean isPause, AtomicBoolean... locks) { } /** {@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 @@ else if (msg instanceof TcpDiscoveryClientReconnectMessage) } /** {@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 void resumeAll() { } /** {@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 b0249c3951368..de4dd6f7b0a71 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 @@ private static class TestTcpDiscoverySpi extends TcpDiscoverySpi { } /** {@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 479cee26f6627..2421a74c181b0 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.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 @@ private static class StallingJoinDiscoverySpi extends TcpDiscoverySpi { @Override protected Socket openSocket( InetSocketAddress sockAddr, IgniteSpiOperationTimeoutHelper timeoutHelper - ) throws IOException, IgniteSpiOperationTimeoutException { + ) throws IOException, IgniteCheckedException { checkStall(); return super.openSocket(sockAddr, timeoutHelper); @@ -220,7 +219,7 @@ private static class StallingJoinDiscoverySpi extends TcpDiscoverySpi { Socket sock, InetSocketAddress remAddr, IgniteSpiOperationTimeoutHelper timeoutHelper - ) throws IOException, IgniteSpiOperationTimeoutException { + ) throws IOException, IgniteCheckedException { checkStall(); return super.openSocket(sock, remAddr, timeoutHelper); @@ -292,7 +291,7 @@ public void awaitDrop() throws InterruptedException, IgniteCheckedException { 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 void awaitDrop() throws InterruptedException, IgniteCheckedException { 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 e1e647c01e60f..9b6b8e4aa2f12 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.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 @@ private void assertStartFailed(final String name) { */ 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 @@ private static class FailTcpDiscoverySpi extends TcpDiscoverySpi { } /** {@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 @@ private static class FailTcpDiscoverySpi extends TcpDiscoverySpi { */ 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 @@ private static class DropTcpDiscoverySpi extends TcpDiscoverySpi { } /** {@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 60db3be1436fa..4175f0b61fa87 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.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 void testServerGetsSegmentedOnBecomeDangling() throws Exception { 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 @@ private boolean dropMsg(Socket sock) { } /** {@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 @@ private boolean dropMsg(Socket sock) { } /** {@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 e388778cf1bd9..30f7ad478f47c 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 @@ private class DyingThreadDiscoverySpi extends TcpDiscoverySpi { */ 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 @@ private class DyingDiscoverySpi extends TcpDiscoverySpi { } /** {@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 55f83d72fc603..b7d34e2544126 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 @@ private static class TestTcpDiscoverySpi extends TcpDiscoverySpi { /** {@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 @@ else if (openSockTimeoutWait) { } /** {@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 5a0726e7a60f9..4191afddc4e52 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 @@ private static class FailingTcpDiscoverySpi extends TcpDiscoverySpi { } /** {@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;