[
https://issues.apache.org/jira/browse/CAMEL-23889?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated CAMEL-23889:
--------------------------------
Issue Type: Test (was: Bug)
> Fix flaky camel-vertx-websocket surefire tests
> ----------------------------------------------
>
> Key: CAMEL-23889
> URL: https://issues.apache.org/jira/browse/CAMEL-23889
> Project: Camel
> Issue Type: Test
> 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)