Build: #3279 was successful Scheduled with changes by daryl herzmann and Guus der Kinderen
Code commits
Openfire (master)
-
daryl herzmann bf747e634f8060a5b762697b92dae5e80c56b12c
Merge pull request #3339 from guusdk/OF-3284_NamedThreadFactory-numbering
OF-3284: Fix NamedThreadFactory thread numbering -
Guus der Kinderen 40eca77887e9d40cb454b226b20dccc6668b6dd1
OF-3284: Fix NamedThreadFactory thread numbering
Start NamedThreadFactory thread names at 1 instead of 2.
Minor unrelated changes (inherited `@Nonnull` annotation, javadoc changes)- xmppserver/src/main/java/org/jivesoftware/util/NamedThreadFactory.java (version 40eca77887e9d40cb454b226b20dccc6668b6dd1)
-
Guus der Kinderen c9f81318019ebc2837a274df6eec4817d16bcd85
OF-3283: Wait for outgoing route teardown before re-establishing S2S routes
Before establishing a new outgoing server session, wait for any existing route for the domain pair to finish tearing down.
For local routes, continue to use the connection close future to wait until all close processing has completed, including route-removal listeners.
For remote routes, this comitm adds a poll on the routing table until a closing route disappears or is replaced.
While holding the cluster lock, reuse any route that was created in parallel. If that route is already closed or closing, fail fast instead of reusing it. This is likely an edge case that doesn't happen in production.
This reduces the chance of colliding with stale routing state during route teardown while keeping the route reuse logic simple.- xmppserver/src/main/java/org/jivesoftware/openfire/server/OutgoingSessionPromise.java (version c9f81318019ebc2837a274df6eec4817d16bcd85)
-
Guus der Kinderen 7b7ceda77f04a8addf91ac8256d94578a8bce900
OF-3283: Reuse clustered outgoing server routes in OutgoingSessionPromise
Re-check the routing table while holding the serversCache lock before authenticating a domain in OutgoingSessionPromise.
This allows a node to reuse an outgoing server route that was created by another cluster node while waiting for the lock, instead of attempting a redundant authentication.- xmppserver/src/main/java/org/jivesoftware/openfire/server/OutgoingSessionPromise.java (version 7b7ceda77f04a8addf91ac8256d94578a8bce900)