diff options
author | Erik Johnston <erik@matrix.org> | 2023-02-08 17:41:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-08 16:41:55 +0000 |
commit | c78c67c5a909c6749f25b251d46be3df8f56f8c2 (patch) | |
tree | 61c6b0005ecdfb992143dbe1f28841786e0f8dd6 /synapse | |
parent | Permalink to the docs (diff) | |
download | synapse-c78c67c5a909c6749f25b251d46be3df8f56f8c2.tar.xz |
Fix bug in replication where response is cached (#15024)
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/replication/http/_base.py | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/synapse/replication/http/_base.py b/synapse/replication/http/_base.py index 908f3f1db7..c20d9c7e9d 100644 --- a/synapse/replication/http/_base.py +++ b/synapse/replication/http/_base.py @@ -426,6 +426,8 @@ class ReplicationEndpoint(metaclass=abc.ABCMeta): code, response = await self.response_cache.wrap( txn_id, self._handle_request, request, content, **kwargs ) + # Take a copy so we don't mutate things in the cache. + response = dict(response) else: # The `@cancellable` decorator may be applied to `_handle_request`. But we # told `HttpServer.register_paths` that our handler is `_check_auth_and_handle`, |