diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2022-04-21 07:42:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-21 07:42:03 +0100 |
commit | f5668f0b4a6cca659ae98d3cb3714692ba488e89 (patch) | |
tree | cc1e5e8ff7e8190aa5d55666054bb4ba929077ab /synapse/storage/databases/main/state.py | |
parent | Remove leftover references to setup.py (#12514) (diff) | |
download | synapse-f5668f0b4a6cca659ae98d3cb3714692ba488e89.tar.xz |
Await un-partial-stating after a partial-state join (#12399)
When we join a room via the faster-joins mechanism, we end up with "partial state" at some points on the event DAG. Many parts of the codebase need to wait for the full state to load. So, we implement a mechanism to keep track of which events have partial state, and wait for them to be fully-populated.
Diffstat (limited to 'synapse/storage/databases/main/state.py')
-rw-r--r-- | synapse/storage/databases/main/state.py | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/synapse/storage/databases/main/state.py b/synapse/storage/databases/main/state.py index 7a1b013fa3..e653841fe5 100644 --- a/synapse/storage/databases/main/state.py +++ b/synapse/storage/databases/main/state.py @@ -396,6 +396,7 @@ class StateGroupWorkerStore(EventsWorkerStore, SQLBaseStore): ) # TODO(faster_joins): need to do something about workers here + txn.call_after(self.is_partial_state_event.invalidate, (event.event_id,)) txn.call_after( self._get_state_group_for_event.prefill, (event.event_id,), |