-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Faster joins: smarter algorithm for picking a server to resync from #12999
Comments
We should prioritise the server that we did the join through initially. |
To check: is the given list of I think we have some table that tracks "we failed to make a federation request from this server recently"--- Other thoughts:
|
This happens automatically for you by anything that uses You just need to catch the Also of interest is the generic pattern we have for this synapse/synapse/federation/federation_client.py Lines 759 to 767 in 1bf2832
One of the heuristics we have around prioritizing destinations to try is synapse/synapse/storage/databases/main/roommember.py Lines 970 to 972 in 1bf2832
But that doesn't exactly solve the problem if the goal is to avoid long-gone dead servers. Does our
This makes sense since it's a recent alive server that had the state to authorize the join 👍 |
Note that the particular problem here comes when we resume resyncing after a restart, which currently causes us to lose our place in the list of potential destinations ( So one solution here is just to arrange for
As @MadLittleMods, the
Possibly, though really this sort of thing is meant to be handled via the
I'm not sure that the server that sent the m.room.create event is much more or less likely to be reachable than any of the other servers in the room. So: yes, let's just keep using
|
Discussed with @richvdh. Actions here:
|
Per #12813 (comment): when we restart resyncing a room, it can take a while before we find an appropriate server.
synapse/synapse/handlers/federation.py
Lines 1517 to 1520 in 7c6b220
The text was updated successfully, but these errors were encountered: