Verifies the integrety of the projects, as builds are executed immediately after a code change was detected. This plan provides no artifiacts (use a nightly build instead).

Build: #2902 was successful Changes by Guus der Kinderen

Stages & jobs

  1. Default Stage

  2. Continuous Integration

Build result summary

Details

Completed
Queue duration
< 1 second
Duration
7 minutes
Labels
None
Revision
941d305be4410c1ba34a2a390c8e25c5a4898a8c
Total tests
1868

Tests

Code commits

Author Commit Message Commit date
Guus der Kinderen Guus der Kinderen 47a35bd7577fb5c208aa9b6941b6cfd0b0547978 OF-3176: Tie shared Netty S2S outbound resource lifecycle to ConnectionManagerImpl
Previously, the shared Netty thread pools for outbound S2S were initialized and torn down from ConnectionListener, causing a race condition where outbound connections could be attempted before the inbound S2S listener had started.

Resources are now initialized in ConnectionManagerImpl.initialize() and destroyed in ConnectionManagerImpl.destroy(), ensuring they are available for the full duration of the server lifecycle.
Guus der Kinderen Guus der Kinderen ab9894954559d7d6aabcca66ebbad4f1f8df473a OF-3176: Fix NPE race condition in DirectTLS channelActive handler
CONNECTION attribute could be null when channelActive fired before handlerAdded had executed on the blockingHandlerExecutor, causing a NullPointerException when attempting to start DirectTLS.

Fix by deferring DirectTLS initialisation behind stanzaHandlerFuture, which guarantees CONNECTION is set before it is accessed. Applied to both inbound (NettyServerInitializer) and outbound (NettySessionInitializer) connection handlers.
Guus der Kinderen Guus der Kinderen 941d305be4410c1ba34a2a390c8e25c5a4898a8c OF-3176: Fix DirectTLS channelActive not propagating to downstream handlers after TLS handshake
In both NettySessionInitializer and NettyServerInitializer, the tlsAndAutoReadHandler was unconditionally suppressing channelActive on the directTLS path, including the post-handshake re-fire from NettyConnectionHandler.userEventTriggered(). This meant downstream handlers such as NettyOutboundConnectionHandler never received channelActive after TLS was established.

Fix by inspecting the pipeline for the presence of an SslHandler before deciding whether to suppress or propagate channelActive. On the first call no SslHandler is present yet, so propagation is suppressed and TLS initiation is scheduled as before. On the post-handshake re-fire, startTLS() will have already added an SslHandler to the pipeline head, so the event is forwarded downstream normally.

Jira issues

IssueDescriptionStatus
Unknown Issue TypeOF-3176Could not obtain issue details from Jira

Shared artifacts

Artifact File size
Unpacked project files 279 MB