summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2019-08-01 14:19:39 +0100
committerGitHub <noreply@github.com>2019-08-01 14:19:39 +0100
commitd55bc4a8bfe101c97d1d779482d4d5b618a727fa (patch)
tree42c375b845a9b2ed14cc7961d0d0a6968e6148aa
parentHave ClientReaderSlavedStore inherit RegistrationStore (#5806) (diff)
parentNewsfile (diff)
downloadsynapse-d55bc4a8bfe101c97d1d779482d4d5b618a727fa.tar.xz
Merge pull request #5810 from matrix-org/erikj/no_server_reachable
Return 502 not 500 when failing to reach any remote server.
-rw-r--r--changelog.d/5810.misc1
-rw-r--r--synapse/federation/federation_client.py7
2 files changed, 4 insertions, 4 deletions
diff --git a/changelog.d/5810.misc b/changelog.d/5810.misc
new file mode 100644

index 0000000000..0a5ccbbb3f --- /dev/null +++ b/changelog.d/5810.misc
@@ -0,0 +1 @@ +Return 502 not 500 when failing to reach any remote server. diff --git a/synapse/federation/federation_client.py b/synapse/federation/federation_client.py
index 6e03ce21af..bec3080895 100644 --- a/synapse/federation/federation_client.py +++ b/synapse/federation/federation_client.py
@@ -511,9 +511,8 @@ class FederationClient(FederationBase): The [Deferred] result of callback, if it succeeds Raises: - SynapseError if the chosen remote server returns a 300/400 code. - - RuntimeError if no servers were reachable. + SynapseError if the chosen remote server returns a 300/400 code, or + no servers were reachable. """ for destination in destinations: if destination == self.server_name: @@ -538,7 +537,7 @@ class FederationClient(FederationBase): except Exception: logger.warn("Failed to %s via %s", description, destination, exc_info=1) - raise RuntimeError("Failed to %s via any server" % (description,)) + raise SynapseError(502, "Failed to %s via any server" % (description,)) def make_membership_event( self, destinations, room_id, user_id, membership, content, params