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

Correctly handle HttpResponseException when handling device updates #4668

Merged
merged 3 commits into from
Feb 18, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/4668.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Reduce number of exceptions we log
14 changes: 9 additions & 5 deletions synapse/handlers/device.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@

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
Expand Down Expand Up @@ -504,13 +508,13 @@ def _handle_device_updates(self, user_id):
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
Expand Down