forked from MirrorHub/synapse
Fix error when out of servers to sync partial state with (#13432)
so that we raise the intended error instead. Signed-off-by: Sean Quah <seanq@matrix.org>
This commit is contained in:
parent
a2a867b521
commit
8d317f6da5
2 changed files with 4 additions and 2 deletions
1
changelog.d/13432.bugfix
Normal file
1
changelog.d/13432.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
Faster room joins: Fix error when running out of servers to sync partial state with, so that Synapse raises the intended error instead.
|
|
@ -1543,15 +1543,16 @@ class FederationHandler:
|
|||
|
||||
# Make an infinite iterator of destinations to try. Once we find a working
|
||||
# destination, we'll stick with it until it flakes.
|
||||
destinations: Collection[str]
|
||||
if initial_destination is not None:
|
||||
# Move `initial_destination` to the front of the list.
|
||||
destinations = list(other_destinations)
|
||||
if initial_destination in destinations:
|
||||
destinations.remove(initial_destination)
|
||||
destinations = [initial_destination] + destinations
|
||||
destination_iter = itertools.cycle(destinations)
|
||||
else:
|
||||
destination_iter = itertools.cycle(other_destinations)
|
||||
destinations = other_destinations
|
||||
destination_iter = itertools.cycle(destinations)
|
||||
|
||||
# `destination` is the current remote homeserver we're pulling from.
|
||||
destination = next(destination_iter)
|
||||
|
|
Loading…
Reference in a new issue