diff options
author | Erik Johnston <erikj@jki.re> | 2019-02-18 16:55:43 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-18 16:55:43 +0000 |
commit | 459d3d50468533b33d6797366982459de671e3c7 (patch) | |
tree | 7876f19937b27256bf9188cfdd5a18abdc8d7143 | |
parent | Merge pull request #4669 from matrix-org/erikj/log_exception (diff) | |
parent | pep8 (diff) | |
download | synapse-459d3d50468533b33d6797366982459de671e3c7.tar.xz |
Merge pull request #4668 from matrix-org/erikj/catch_exceptions
Correctly handle HttpResponseException when handling device updates
-rw-r--r-- | changelog.d/4668.misc | 1 | ||||
-rw-r--r-- | synapse/handlers/device.py | 14 |
2 files changed, 10 insertions, 5 deletions
diff --git a/changelog.d/4668.misc b/changelog.d/4668.misc new file mode 100644 index 0000000000..556cdd2240 --- /dev/null +++ b/changelog.d/4668.misc @@ -0,0 +1 @@ +Reduce number of exceptions we log diff --git a/synapse/handlers/device.py b/synapse/handlers/device.py index 6eddb10e0d..c708c35d4d 100644 --- a/synapse/handlers/device.py +++ b/synapse/handlers/device.py @@ -20,7 +20,11 @@ from twisted.internet import defer from synapse.api import errors from synapse.api.constants import EventTypes -from synapse.api.errors import FederationDeniedError, RequestSendFailed +from synapse.api.errors import ( + FederationDeniedError, + HttpResponseException, + RequestSendFailed, +) from synapse.types import RoomStreamToken, get_domain_from_id from synapse.util import stringutils from synapse.util.async_helpers import Linearizer @@ -504,13 +508,13 @@ class DeviceListEduUpdater(object): origin = get_domain_from_id(user_id) try: result = yield self.federation.query_user_devices(origin, user_id) - except (NotRetryingDestination, RequestSendFailed): + except ( + NotRetryingDestination, RequestSendFailed, HttpResponseException, + ): # TODO: Remember that we are now out of sync and try again # later logger.warn( - "Failed to handle device list update for %s," - " we're not retrying the remote", - user_id, + "Failed to handle device list update for %s", user_id, ) # We abort on exceptions rather than accepting the update # as otherwise synapse will 'forget' that its device list |