diff options
author | Sean Quah <8349537+squahtx@users.noreply.github.com> | 2023-02-10 23:29:00 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-10 23:29:00 +0000 |
commit | d0c713cc85f094c323b2ba3f02d8ac411a7f0705 (patch) | |
tree | c26f279f53c76ea9adb74853d11cfd264675eeb5 /synapse/federation | |
parent | Support for MSC3758: exact_event_match push condition (#14964) (diff) | |
download | synapse-d0c713cc85f094c323b2ba3f02d8ac411a7f0705.tar.xz |
Return read-only collections from `@cached` methods (#13755)
It's important that collections returned from `@cached` methods are not modified, otherwise future retrievals from the cache will return the modified collection. This applies to the return values from `@cached` methods and the values inside the dictionaries returned by `@cachedList` methods. It's not necessary for the dictionaries returned by `@cachedList` methods themselves to be read-only. Signed-off-by: Sean Quah <seanq@matrix.org> Co-authored-by: David Robertson <davidr@element.io>
Diffstat (limited to 'synapse/federation')
-rw-r--r-- | synapse/federation/federation_server.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/synapse/federation/federation_server.py b/synapse/federation/federation_server.py index 8d36172484..6addc0bb65 100644 --- a/synapse/federation/federation_server.py +++ b/synapse/federation/federation_server.py @@ -23,6 +23,7 @@ from typing import ( Collection, Dict, List, + Mapping, Optional, Tuple, Union, @@ -1512,7 +1513,7 @@ class FederationHandlerRegistry: def _get_event_ids_for_partial_state_join( join_event: EventBase, prev_state_ids: StateMap[str], - summary: Dict[str, MemberSummary], + summary: Mapping[str, MemberSummary], ) -> Collection[str]: """Calculate state to be returned in a partial_state send_join |