-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Faster joins: room alias server list may be incomplete #13287
Comments
Currently we probably return just ourselves, which is useless. We should probably return the list of servers we got from the |
(This is a bit of an edge-case as it's unlikely someone will add an alias (and then someone else will join through it) during a faster join) |
The current situation is that we block waiting for full state:
So we need to change that behaviour. Also: do we persist the list of servers we get from a Edit: ahh yes, get_partial_state_servers_at_join: synapse/synapse/storage/databases/main/room.py Lines 1152 to 1167 in c3a4780
|
Presumably once we have completed the resync we need to update the alias tables to reflect the full list of servers we now know about? |
On reflection, I don't think this is correct. Quoting MSC3706:
We are trusting the resident server to accurately provide that list of servers in the roomand the state at our join event. The resync gives us the state at that join event, so there shouldn't suddenly be a different set of servers in the room to deal with... if the resident server is well-behaved. (Do we want to check that?) What I think this means is: we have to react to new servers joining the room after a partial join in exactly the same way as after a full join? |
If a room alias is added on a server that is doing a faster join, the list of servers associated with the alias may be incomplete until the faster join completes.
The text was updated successfully, but these errors were encountered: