diff options
author | Shay <hillerys@element.io> | 2024-07-16 03:13:55 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-16 11:13:55 +0100 |
commit | 429ecb7564640b4d04588173e9e54bf53524aadf (patch) | |
tree | cefec0cc83b6a1a57ae004f1b403fdb1fed01319 /changelog.d/17439.bugfix | |
parent | Bump setuptools from 67.6.0 to 70.0.0 (#17448) (diff) | |
download | synapse-429ecb7564640b4d04588173e9e54bf53524aadf.tar.xz |
Handle remote download responses with `UNKNOWN_LENGTH` more gracefully (#17439)
Prior to this PR, remote downloads which did not provide a `content-length` were decremented from the remote download ratelimiter at the max allowable size, leading to excessive ratelimiting - see https://github.com/element-hq/synapse/issues/17394. This PR adds a linearizer to limit concurrent remote downloads to 6 per IP address, and decrements remote downloads without a `content-length` from the ratelimiter *after* the download is complete and the response length is known. Also adds logic to ensure that responses with a known length respect the `max_download_size`.
Diffstat (limited to 'changelog.d/17439.bugfix')
-rw-r--r-- | changelog.d/17439.bugfix | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/changelog.d/17439.bugfix b/changelog.d/17439.bugfix new file mode 100644 index 0000000000..f36c3ec255 --- /dev/null +++ b/changelog.d/17439.bugfix @@ -0,0 +1 @@ +Limit concurrent remote downloads to 6 per IP address, and decrement remote downloads without a content-length from the ratelimiter after the download is complete. \ No newline at end of file |