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 b092459d830 IGNITE-28340 Fixed flaky
IgniteClientConnectionEventListenerTest (#12928)
b092459d830 is described below
commit b092459d830a5d0a8bce9fe4198b1989b04f6782
Author: Mikhail Petrov <[email protected]>
AuthorDate: Thu Mar 26 10:03:57 2026 +0300
IGNITE-28340 Fixed flaky IgniteClientConnectionEventListenerTest (#12928)
---
.../events/IgniteClientConnectionEventListenerTest.java | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/client/thin/events/IgniteClientConnectionEventListenerTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/client/thin/events/IgniteClientConnectionEventListenerTest.java
index d5502bc8918..91ed01bf3fa 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/client/thin/events/IgniteClientConnectionEventListenerTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/client/thin/events/IgniteClientConnectionEventListenerTest.java
@@ -179,6 +179,8 @@ public class IgniteClientConnectionEventListenerTest
extends GridCommonAbstractT
BiConsumer<Event, Throwable> checkEventAction,
Class<Event> eventCls
) {
+ IgniteClient cli = null;
+
try (FakeIgniteServer srv = srvFactory.get()) {
srv.start();
@@ -190,11 +192,15 @@ public class IgniteClientConnectionEventListenerTest
extends GridCommonAbstractT
}
@Override public void onHandshakeFail(HandshakeFailEvent
event) {
- evSet.put(event.getClass(), event);
+ // The thin client may attempt to reestablish the
connection asynchronously, which may result in
+ // multiple Handshake Failed events (see
ReliableChannelImpl#initAllChannelsAsync).
+ evSet.putIfAbsent(event.getClass(), event);
}
};
- try (IgniteClient cli = startClient(lsnr)) {
+ try { // We do not close the client using a try with resource
block to avoid unexpected events caused by the client stopping.
+ cli = startClient(lsnr);
+
clientAction.accept(cli);
}
catch (Throwable e) {
@@ -221,6 +227,10 @@ public class IgniteClientConnectionEventListenerTest
extends GridCommonAbstractT
catch (Exception e) {
throw new RuntimeException("Failed event test", e);
}
+ finally {
+ if (cli != null)
+ cli.close();
+ }
}
/** */