In open_chat on igniterealtime, we're experiencing frequent 'freezes' - clients go unresponsive for a while, even causing them to disconnect (my Pidgin goes bananas).
This appears to correspond with users joining a room, when those users are on a federated domain.
I have created two threaddumps of the same instance of such a freeze (with a couple of seconds between, hoping to find long-running threads). The dumps are attached to this issue.
This stack appears to be of interest. What I think is going on is that a user enters, having established an inbound S2S connection. When the user enters, this event is broadcasted to everyone (including the user itself), which causes an outbound S2S connection from being set-up. This either takes to long or fails (not sure which), causing the freeze. I cannot quite explain yet how this would affect every occupant of the room.
I don't get why the outbound session is synchronously waiting for LocalOutgoingServerSession.authenticateSubdomain(). As far as I can tell, that should already have authenticated asynchronously in LocalOutgoingServerProxy.
Resolved by reverting code