summary refs log tree commit diff
path: root/synapse/replication/http/_base.py
diff options
context:
space:
mode:
authorDavid Robertson <davidr@element.io>2023-02-10 13:43:18 +0000
committerDavid Robertson <davidr@element.io>2023-02-10 13:43:18 +0000
commitd793fcd241a744b40120a7437497b2b856078a83 (patch)
tree9e0ee4646497541a03cb55727f61479a71065197 /synapse/replication/http/_base.py
parentAvoid mutating cached values in `_generate_sync_entry_for_account_data` (#15047) (diff)
parent1.77.0rc2 (diff)
downloadsynapse-d793fcd241a744b40120a7437497b2b856078a83.tar.xz
Merge branch 'release-v1.77' into develop
Diffstat (limited to 'synapse/replication/http/_base.py')
-rw-r--r--synapse/replication/http/_base.py2
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`,