Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
Improve error msg when key-fetch fails (#5896)
Browse files Browse the repository at this point in the history
There's no point doing a raise_from here, because the exception is always
logged at warn with no stacktrace in the caller. Instead, let's try to give
better messages to reduce confusion.

In particular, this means that we won't log 'Failed to connect to remote
server' when we don't even attempt to connect to the remote server due to
blacklisting.
  • Loading branch information
richvdh authored Aug 22, 2019
1 parent 4dab867 commit ef1c524
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
1 change: 1 addition & 0 deletions changelog.d/5896.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Improve the logging when we have an error when fetching signing keys.
12 changes: 7 additions & 5 deletions synapse/crypto/keyring.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
from collections import defaultdict

import six
from six import raise_from
from six.moves import urllib

import attr
Expand Down Expand Up @@ -657,9 +656,10 @@ def get_server_verify_key_v2_indirect(self, keys_to_fetch, key_server):
},
)
except (NotRetryingDestination, RequestSendFailed) as e:
raise_from(KeyLookupError("Failed to connect to remote server"), e)
# these both have str() representations which we can't really improve upon
raise KeyLookupError(str(e))
except HttpResponseException as e:
raise_from(KeyLookupError("Remote server returned an error"), e)
raise KeyLookupError("Remote server returned an error: %s" % (e,))

keys = {}
added_keys = []
Expand Down Expand Up @@ -821,9 +821,11 @@ def get_server_verify_key_v2_direct(self, server_name, key_ids):
timeout=10000,
)
except (NotRetryingDestination, RequestSendFailed) as e:
raise_from(KeyLookupError("Failed to connect to remote server"), e)
# these both have str() representations which we can't really improve
# upon
raise KeyLookupError(str(e))
except HttpResponseException as e:
raise_from(KeyLookupError("Remote server returned an error"), e)
raise KeyLookupError("Remote server returned an error: %s" % (e,))

if response["server_name"] != server_name:
raise KeyLookupError(
Expand Down

0 comments on commit ef1c524

Please sign in to comment.