Merge pull request #4668 from matrix-org/erikj/catch_exceptions
Correctly handle HttpResponseException when handling device updates
This commit is contained in:
commit
459d3d5046
|
@ -0,0 +1 @@
|
||||||
|
Reduce number of exceptions we log
|
|
@ -20,7 +20,11 @@ from twisted.internet import defer
|
||||||
|
|
||||||
from synapse.api import errors
|
from synapse.api import errors
|
||||||
from synapse.api.constants import EventTypes
|
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.types import RoomStreamToken, get_domain_from_id
|
||||||
from synapse.util import stringutils
|
from synapse.util import stringutils
|
||||||
from synapse.util.async_helpers import Linearizer
|
from synapse.util.async_helpers import Linearizer
|
||||||
|
@ -504,13 +508,13 @@ class DeviceListEduUpdater(object):
|
||||||
origin = get_domain_from_id(user_id)
|
origin = get_domain_from_id(user_id)
|
||||||
try:
|
try:
|
||||||
result = yield self.federation.query_user_devices(origin, user_id)
|
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
|
# TODO: Remember that we are now out of sync and try again
|
||||||
# later
|
# later
|
||||||
logger.warn(
|
logger.warn(
|
||||||
"Failed to handle device list update for %s,"
|
"Failed to handle device list update for %s", user_id,
|
||||||
" we're not retrying the remote",
|
|
||||||
user_id,
|
|
||||||
)
|
)
|
||||||
# We abort on exceptions rather than accepting the update
|
# We abort on exceptions rather than accepting the update
|
||||||
# as otherwise synapse will 'forget' that its device list
|
# as otherwise synapse will 'forget' that its device list
|
||||||
|
|
Loading…
Reference in New Issue