diff options
author | Erik Johnston <erik@matrix.org> | 2020-02-19 15:04:47 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-19 15:04:47 +0000 |
commit | 2b37eabca1e9355e2e2ab8f65bbdda12431ecc28 (patch) | |
tree | 33f657d75e6a662d95fe7f70c951d158ac6c3fd1 /tests/state | |
parent | update changes.md (diff) | |
download | synapse-2b37eabca1e9355e2e2ab8f65bbdda12431ecc28.tar.xz |
Reduce auth chains fetched during v2 state res. (#6952)
The state res v2 algorithm only cares about the difference between auth chains, so we can pass in the known common state to the `get_auth_chain` storage function so that it can ignore those events.
Diffstat (limited to 'tests/state')
-rw-r--r-- | tests/state/test_v2.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tests/state/test_v2.py b/tests/state/test_v2.py index 5bafad9f19..5059ade850 100644 --- a/tests/state/test_v2.py +++ b/tests/state/test_v2.py @@ -603,7 +603,7 @@ class TestStateResolutionStore(object): return {eid: self.event_map[eid] for eid in event_ids if eid in self.event_map} - def get_auth_chain(self, event_ids): + def get_auth_chain(self, event_ids, ignore_events): """Gets the full auth chain for a set of events (including rejected events). @@ -617,6 +617,8 @@ class TestStateResolutionStore(object): Args: event_ids (list): The event IDs of the events to fetch the auth chain for. Must be state events. + ignore_events: Set of events to exclude from the returned auth + chain. Returns: Deferred[list[str]]: List of event IDs of the auth chain. @@ -627,7 +629,7 @@ class TestStateResolutionStore(object): stack = list(event_ids) while stack: event_id = stack.pop() - if event_id in result: + if event_id in result or event_id in ignore_events: continue result.add(event_id) |