diff options
author | Richard van der Hoff <richard@matrix.org> | 2019-06-03 18:07:19 +0100 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2019-06-04 00:16:56 +0100 |
commit | c5d60eadd5949ab4c12857e0830eb0afbb857f72 (patch) | |
tree | dc95812fe39f653d013842f466fceb905c9ff930 /synapse/rest/key/v2 | |
parent | Don't bomb out on direct key fetches as soon as one fails (diff) | |
download | synapse-c5d60eadd5949ab4c12857e0830eb0afbb857f72.tar.xz |
Notary server: make requests to origins in parallel
... else we're guaranteed to time out.
Diffstat (limited to 'synapse/rest/key/v2')
-rw-r--r-- | synapse/rest/key/v2/remote_key_resource.py | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/synapse/rest/key/v2/remote_key_resource.py b/synapse/rest/key/v2/remote_key_resource.py index 21c3c807b9..8a730bbc35 100644 --- a/synapse/rest/key/v2/remote_key_resource.py +++ b/synapse/rest/key/v2/remote_key_resource.py @@ -20,7 +20,7 @@ from twisted.web.resource import Resource from twisted.web.server import NOT_DONE_YET from synapse.api.errors import Codes, SynapseError -from synapse.crypto.keyring import KeyLookupError, ServerKeyFetcher +from synapse.crypto.keyring import ServerKeyFetcher from synapse.http.server import respond_with_json_bytes, wrap_json_request_handler from synapse.http.servlet import parse_integer, parse_json_object_from_request @@ -215,15 +215,7 @@ class RemoteKey(Resource): json_results.add(bytes(result["key_json"])) if cache_misses and query_remote_on_cache_miss: - for server_name, key_ids in cache_misses.items(): - try: - yield self.fetcher.get_server_verify_key_v2_direct( - server_name, key_ids - ) - except KeyLookupError as e: - logger.info("Failed to fetch key: %s", e) - except Exception: - logger.exception("Failed to get key for %r", server_name) + yield self.fetcher.get_keys(cache_misses) yield self.query_keys( request, query, query_remote_on_cache_miss=False ) |