Build: #1253 was successful Manual run by daryl herzmann

Build result summary

Details

Completed
Queue duration
1 minute
Duration
1 minute
Labels
None
Agent
Default Agent
Revision
fa8b0b5ef25157ab23e8b1d6687b446eb9213fef
Total tests
466
Successful since
#749 ()

Tests

Code commits

Author Commit Message Commit date
daryl herzmann <akrherz@iastate.edu> daryl herzmann <akrherz@iastate.edu> fa8b0b5ef25157ab23e8b1d6687b446eb9213fef Merge pull request #1911 from guusdk/OF-2325_100-percent-cpu-tls-handshake
OF-2325: Prevent endless loop when peer closes during TLS handshake
Guus der Kinderen Guus der Kinderen 385c15792d4f650e69492ff80e24093d458abc53 OF-2320: Restore ability to obtain MUC vcard
With the changes of OF-2289, the mutex value was expected to be a username. For MUC rooms, a bare JID is used. Using that as the node-part for a new JID causes problems.
Guus der Kinderen Guus der Kinderen 52437c8da43ac55e52c7f5c6ae45e48668c9d517 OF-2283: Ensure that all IPs use the same hostname
Without this, various different hostnames would be used for the same IP address. Although technically not wrong, that's confusing, as it suggests that different servers are in play.

With this change, the same hostname is used for each occurrence of an IP address.
Guus der Kinderen Guus der Kinderen 682e2b308f8c74b0b101f2455346c6de8f13d1fb OF-2322: Ensure outgoing queue is emptied before routing newer stanzas
The existing code is based around a route of last resort, the
OutgoingSessionPromise, which builds a helper - the PacketsProcessor - and
creates the new session. The PacketsProcessors operate from within a thread
pool, and thus have contended execution time.

As new packets arrives from onward transmission during the session setup, the
PacketsProcessor queues them for retransmission. However, the act of session
creation also creates the outgoing route, meaning that later packets will
bypass the queue, and be transmitted out of order.

This should give the impression of a randomly reordered set of stanzas, but
would in fact be two consecutive sequences of ordered stanzas which are
interleaved, hence if the two sequences are A-E, F-J, one might see:

A, B, F, G, C, H, I, D, J, E

The fix here is two ensure that all packets are queued until the queue itself
is empty.
Guus der Kinderen Guus der Kinderen 618f6a80f441079ec3331c5ba1b74ad3387075d7 m OF-2325: Prevent endless loop when peer closes during TLS handshake
When a peer closes the connection while performing an initial TLS handshake, a problem occurs if the state of the handshake remains 'not complete': the code in TLSStreamHandler#start() will loop until the handshake is complete. Subsequent iterations will read nothing, which repeats indefinitely. This can drain the available CPU resources.

Instead, throwing an exception will force the invoker to give up.

Jira issues

IssueDescriptionStatus
Unknown Issue TypeOF-2283Could not obtain issue details from Jira
Unknown Issue TypeOF-2289Could not obtain issue details from Jira
Unknown Issue TypeOF-2320Could not obtain issue details from Jira
Unknown Issue TypeOF-2322Could not obtain issue details from Jira
Unknown Issue TypeOF-2325Could not obtain issue details from Jira