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
parent
8dc1eb6697
commit
95d38afe96
|
@ -17,7 +17,7 @@
|
||||||
import logging
|
import logging
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
|
|
||||||
from six import text_type
|
from six import raise_from, text_type
|
||||||
from six.moves import urllib
|
from six.moves import urllib
|
||||||
|
|
||||||
import treq
|
import treq
|
||||||
|
@ -542,10 +542,15 @@ class SimpleHttpClient(object):
|
||||||
length = yield make_deferred_yieldable(
|
length = yield make_deferred_yieldable(
|
||||||
_readBodyToFile(response, output_stream, max_size)
|
_readBodyToFile(response, output_stream, max_size)
|
||||||
)
|
)
|
||||||
|
except SynapseError:
|
||||||
|
# This can happen e.g. because the body is too large.
|
||||||
|
raise
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.exception("Failed to download body")
|
raise_from(
|
||||||
raise SynapseError(
|
SynapseError(
|
||||||
502, ("Failed to download remote body: %s" % e), Codes.UNKNOWN
|
502, ("Failed to download remote body: %s" % e),
|
||||||
|
),
|
||||||
|
e
|
||||||
)
|
)
|
||||||
|
|
||||||
defer.returnValue(
|
defer.returnValue(
|
||||||
|
|
|
@ -386,8 +386,10 @@ class MediaRepository(object):
|
||||||
raise SynapseError(502, "Failed to fetch remote media")
|
raise SynapseError(502, "Failed to fetch remote media")
|
||||||
|
|
||||||
except SynapseError:
|
except SynapseError:
|
||||||
logger.exception("Failed to fetch remote media %s/%s",
|
logger.warn(
|
||||||
server_name, media_id)
|
"Failed to fetch remote media %s/%s",
|
||||||
|
server_name, media_id,
|
||||||
|
)
|
||||||
raise
|
raise
|
||||||
except NotRetryingDestination:
|
except NotRetryingDestination:
|
||||||
logger.warn("Not retrying destination %r", server_name)
|
logger.warn("Not retrying destination %r", server_name)
|
||||||
|
|
Loading…
Reference in New Issue