Repository: ignite
Updated Branches:
  refs/heads/master a23c09c56 -> 277a24096


IGNITE-5504: GridTcpCommunicationSpiRecoverySelfTest fixed - Fixes #2796.

Signed-off-by: Nikolay Izhikov <nizhi...@apache.org>


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

Branch: refs/heads/master
Commit: 277a240967aaf590948f7c532dc3e2400b04016c
Parents: a23c09c
Author: Vitaliy Biryukov <biryukovvitali...@gmail.com>
Authored: Wed Apr 4 17:16:57 2018 +0300
Committer: Nikolay Izhikov <nizhi...@apache.org>
Committed: Wed Apr 4 17:17:55 2018 +0300

----------------------------------------------------------------------
 ...GridTcpCommunicationSpiRecoverySelfTest.java | 24 ++++++++++++++++++++
 1 file changed, 24 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/277a2409/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java
index c722577..d2e18c0 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java
@@ -31,6 +31,7 @@ import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.cluster.ClusterNode;
 import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.internal.IgniteInternalFuture;
+import org.apache.ignite.internal.IgniteInterruptedCheckedException;
 import org.apache.ignite.internal.managers.communication.GridIoMessageFactory;
 import org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor;
 import org.apache.ignite.internal.util.lang.GridAbsPredicate;
@@ -367,6 +368,8 @@ public class GridTcpCommunicationSpiRecoverySelfTest<T 
extends CommunicationSpi>
                     }, 60_000);
 
                     assertEquals(expMsgs, lsnr1.rcvCnt.get());
+
+                    assertTrue(waitForSessionsCount(spi1, 1));
                 }
                 catch (IgniteCheckedException e) {
                     if (e.hasCause(BindException.class)) {
@@ -499,6 +502,9 @@ public class GridTcpCommunicationSpiRecoverySelfTest<T 
extends CommunicationSpi>
 
                     assertEquals(expMsgs0, lsnr0.rcvCnt.get());
                     assertEquals(expMsgs1, lsnr1.rcvCnt.get());
+
+                    if (spi1.isUsePairedConnections())
+                        assertTrue(waitForSessionsCount(spi1, 2));
                 }
                 catch (IgniteCheckedException e) {
                     if (e.hasCause(BindException.class)) {
@@ -609,6 +615,8 @@ public class GridTcpCommunicationSpiRecoverySelfTest<T 
extends CommunicationSpi>
                     }, 60_000);
 
                     assertEquals(expMsgs, lsnr1.rcvCnt.get());
+
+                    assertTrue(waitForSessionsCount(spi1, 1));
                 }
                 catch (IgniteCheckedException e) {
                     if (e.hasCause(BindException.class)) {
@@ -642,6 +650,22 @@ public class GridTcpCommunicationSpiRecoverySelfTest<T 
extends CommunicationSpi>
     }
 
     /**
+     * @param spi Spi.
+     *
+     * @return {@code true} if sessions count was achieved, {@code false} 
otherwise.
+     */
+    private boolean waitForSessionsCount(TcpCommunicationSpi spi, int cnt) 
throws IgniteInterruptedCheckedException {
+        return GridTestUtils.waitForCondition(new GridAbsPredicate() {
+            @Override public boolean apply() {
+                Collection<? extends GridNioSession> sessions =
+                    GridTestUtils.getFieldValue(spi, "nioSrvr", "sessions");
+
+                return sessions.size() == cnt;
+            }
+        }, awaitForSocketWriteTimeout());
+    }
+
+    /**
      * @param spi SPI.
      * @param in {@code True} if need find inbound session.
      * @return Session.

Reply via email to