You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ib...@apache.org on 2021/06/02 09:47:15 UTC
[ignite-3] branch main updated: IGNITE-14802 Fix flaky test
ConnectionManagerTest#testReuseIncomingConnection (#156)
This is an automated email from the ASF dual-hosted git repository.
ibessonov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new 37083a1 IGNITE-14802 Fix flaky test ConnectionManagerTest#testReuseIncomingConnection (#156)
37083a1 is described below
commit 37083a185ac01e1b346e086434012f454f31d5bf
Author: Semyon Danilov <sa...@yandex.ru>
AuthorDate: Wed Jun 2 12:45:28 2021 +0300
IGNITE-14802 Fix flaky test ConnectionManagerTest#testReuseIncomingConnection (#156)
---
.../network/internal/netty/ConnectionManagerTest.java | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/modules/network/src/integrationTest/java/org/apache/ignite/network/internal/netty/ConnectionManagerTest.java b/modules/network/src/integrationTest/java/org/apache/ignite/network/internal/netty/ConnectionManagerTest.java
index 4862080..852882b 100644
--- a/modules/network/src/integrationTest/java/org/apache/ignite/network/internal/netty/ConnectionManagerTest.java
+++ b/modules/network/src/integrationTest/java/org/apache/ignite/network/internal/netty/ConnectionManagerTest.java
@@ -98,6 +98,8 @@ public class ConnectionManagerTest {
public void testReuseIncomingConnection() throws Exception {
String msgText = "test";
+ TestMessage testMessage = TestMessageFactory.testMessage().msg("test").build();
+
int port1 = 4000;
int port2 = 4001;
@@ -110,8 +112,17 @@ public class ConnectionManagerTest {
NettySender senderFrom1to2 = manager1.channel(null, new InetSocketAddress(port2)).get(3, TimeUnit.SECONDS);
- // Ensure a handshake has finished on both sides.
- senderFrom1to2.send(TestMessageFactory.testMessage().msg("test").build()).get(3, TimeUnit.SECONDS);
+ // Ensure a handshake has finished on both sides by sending a message.
+ // TODO: IGNITE-14085 When the recovery protocol is implemented replace this with simple
+ // CompletableFuture#get called on the send future.
+ var messageReceivedOn2 = new CompletableFuture<Void>();
+
+ // If the message is received, that means that the handshake was successfully performed.
+ manager2.addListener((address, message) -> messageReceivedOn2.complete(null));
+
+ senderFrom1to2.send(testMessage);
+
+ messageReceivedOn2.get(3, TimeUnit.SECONDS);
NettySender senderFrom2to1 = manager2.channel(manager1.consistentId(), new InetSocketAddress(port1)).get(3, TimeUnit.SECONDS);
@@ -121,8 +132,6 @@ public class ConnectionManagerTest {
assertEquals(clientLocalAddress, clientRemoteAddress);
- TestMessage testMessage = TestMessageFactory.testMessage().msg("test").build();
-
senderFrom2to1.send(testMessage).get(3, TimeUnit.SECONDS);
NetworkMessage receivedMessage = fut.get(3, TimeUnit.SECONDS);