Don't log exception when failing to fetch remote content.

In particular, let's not log stack traces when we stop processing
becuase the response body was too large.
pull/5390/head
Erik Johnston 2019-06-07 12:34:52 +01:00
parent 8dc1eb6697
commit 95d38afe96
2 changed files with 13 additions and 6 deletions

View File

@ -17,7 +17,7 @@
import logging
from io import BytesIO
from six import text_type
from six import raise_from, text_type
from six.moves import urllib
import treq
@ -542,10 +542,15 @@ class SimpleHttpClient(object):
length = yield make_deferred_yieldable(
_readBodyToFile(response, output_stream, max_size)
)
except SynapseError:
# This can happen e.g. because the body is too large.
raise
except Exception as e:
logger.exception("Failed to download body")
raise SynapseError(
502, ("Failed to download remote body: %s" % e), Codes.UNKNOWN
raise_from(
SynapseError(
502, ("Failed to download remote body: %s" % e),
),
e
)
defer.returnValue(

View File

@ -386,8 +386,10 @@ class MediaRepository(object):
raise SynapseError(502, "Failed to fetch remote media")
except SynapseError:
logger.exception("Failed to fetch remote media %s/%s",
server_name, media_id)
logger.warn(
"Failed to fetch remote media %s/%s",
server_name, media_id,
)
raise
except NotRetryingDestination:
logger.warn("Not retrying destination %r", server_name)