mirror of
https://mau.dev/maunium/synapse.git
synced 2024-10-01 01:36:05 -04:00
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
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
|
# Make an infinite iterator of destinations to try. Once we find a working
|
||||||
# destination, we'll stick with it until it flakes.
|
# destination, we'll stick with it until it flakes.
|
||||||
|
destinations: Collection[str]
|
||||||
if initial_destination is not None:
|
if initial_destination is not None:
|
||||||
# Move `initial_destination` to the front of the list.
|
# Move `initial_destination` to the front of the list.
|
||||||
destinations = list(other_destinations)
|
destinations = list(other_destinations)
|
||||||
if initial_destination in destinations:
|
if initial_destination in destinations:
|
||||||
destinations.remove(initial_destination)
|
destinations.remove(initial_destination)
|
||||||
destinations = [initial_destination] + destinations
|
destinations = [initial_destination] + destinations
|
||||||
destination_iter = itertools.cycle(destinations)
|
|
||||||
else:
|
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` is the current remote homeserver we're pulling from.
|
||||||
destination = next(destination_iter)
|
destination = next(destination_iter)
|
||||||
|
Loading…
Reference in New Issue
Block a user