S2S should not be established twice.
introduces a session creation listener, which is used to send a version check request on a newly established (server) session.
It appears that under some circumstances, the event is triggered to soon (and multiple times).
This causes a version request to be sent, before the session has been fully registered (notably: org.jivesoftware.openfire.session.OutgoingServerSession#checkOutgoingDomainPair does not return 'true' yet).
This in turn triggers a second attempt to establish a server-to-server session - that is to be used to deliver the version request.
This all leads to unexpected behavior, and should be avoided.
Testing this from a master build on igniterealtime and then will backport to 4.4 branch once confirmed to be OK.