summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard van der Hoff <richard@matrix.org>2016-12-09 18:31:01 +0000
committerRichard van der Hoff <richard@matrix.org>2016-12-09 18:31:01 +0000
commitefa4ccfaee16e4f9c8145acb96249979933c8fc9 (patch)
tree38d9605293bd0dad40637b64d2b66a9e2df76e0c
parentMerge pull request #1672 from williamleuschner/develop (diff)
downloadsynapse-efa4ccfaee16e4f9c8145acb96249979933c8fc9.tar.xz
E2E key query: handle federation fails
Don't fail the whole request if we can't connect to a particular server.
-rw-r--r--synapse/handlers/e2e_keys.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/synapse/handlers/e2e_keys.py b/synapse/handlers/e2e_keys.py

index fd11935b40..7dccc9c51d 100644 --- a/synapse/handlers/e2e_keys.py +++ b/synapse/handlers/e2e_keys.py
@@ -16,6 +16,7 @@ import ujson as json import logging +import twisted.internet.error from canonicaljson import encode_canonical_json from twisted.internet import defer @@ -111,6 +112,11 @@ class E2eKeysHandler(object): failures[destination] = { "status": 503, "message": "Not ready for retry", } + except Exception as e: + # include ConnectionRefused and other errors + failures[destination] = { + "status": 503, "message": e.message + } yield preserve_context_over_deferred(defer.gatherResults([ preserve_fn(do_remote_query)(destination) @@ -222,6 +228,11 @@ class E2eKeysHandler(object): failures[destination] = { "status": 503, "message": "Not ready for retry", } + except Exception as e: + # include ConnectionRefused and other errors + failures[destination] = { + "status": 503, "message": e.message + } yield preserve_context_over_deferred(defer.gatherResults([ preserve_fn(claim_client_keys)(destination)