You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Guillaume Nodet (Jira)" <ji...@apache.org> on 2026/07/03 07:48:00 UTC

[jira] [Work started] (CAMEL-23889) Fix flaky camel-vertx-websocket surefire tests

     [ https://issues.apache.org/jira/browse/CAMEL-23889?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on CAMEL-23889 started by Guillaume Nodet.
-----------------------------------------------
> Fix flaky camel-vertx-websocket surefire tests
> ----------------------------------------------
>
>                 Key: CAMEL-23889
>                 URL: https://issues.apache.org/jira/browse/CAMEL-23889
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-vertx-websocket
>            Reporter: Guillaume Nodet
>            Assignee: Guillaume Nodet
>            Priority: Minor
>              Labels: test-flaky
>
> The camel-vertx-websocket surefire tests fail intermittently on CI (both JDK 17 and JDK 25). Three test issues were identified:
> 1. *VertxWebsocketConsumerAsClientReconnectTest*: Uses {{Thread.sleep(300)}} to wait for async Vert.x reconnection. The producer endpoint's cached WebSocket ({{VertxWebsocketEndpoint.webSocket}}) may still appear open after server stop ({{isClosed()}} returns false until the Vert.x event loop processes the TCP close frame), causing {{template.sendBody()}} to silently lose messages. Additionally, the "verify that we cannot send messages" assertion after {{stopRoute()}} is itself racy - the stale WebSocket may silently accept the send instead of throwing {{ConnectException}}.
> 2. *VertxWebsocketConsumerAsClientMaxReconnectTest*: Same {{Thread.sleep(300)}} and stale WebSocket race condition as above.
> 3. *VertxWebSocketEventTest*: Uses {{webSocketFuture.get(5000, TimeUnit.SECONDS)}} which is a 83-minute timeout (should be 5 seconds). This masks test failures by waiting far too long.
> Fix: Replace {{Thread.sleep()}} with Awaitility-based async assertions. Wrap the "verify send fails" checks in {{await().untilAsserted()}} to handle the stale WebSocket race. Fix the timeout bug in EventTest.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)