UserManager::isRegisteredUser(JID) can block for a minute

Description

As discussed in the thread, what seems to happen is

i) The user isn't a local user, and is not a cached remote user, so

ii) The UserManager sends a disco#info request to the remote server

iii) UserManager blocks, waiting for a response

iv) The disco#info result comes back in, but isn't processed by UserManager because it's blocked

v) 60 seconds after sending the request, UserManager times out and continues processing.

Environment

None
Fixed

Assignee

Greg Thomas

Reporter

Greg Thomas

Labels

None

Expected Effort

None

Components

Fix versions

Affects versions

Priority

Major
Configure