MatrixSynapse/synapse/storage
Erik Johnston 1531b214fc
Add ability to wait for replication streams (#7542)
The idea here is that if an instance persists an event via the replication HTTP API it can return before we receive that event over replication, which can lead to races where code assumes that persisting an event immediately updates various caches (e.g. current state of the room).

Most of Synapse doesn't hit such races, so we don't do the waiting automagically, instead we do so where necessary to avoid unnecessary delays. We may decide to change our minds here if it turns out there are a lot of subtle races going on.

People probably want to look at this commit by commit.
2020-05-22 14:21:54 +01:00
..
data_stores Add ability to wait for replication streams (#7542) 2020-05-22 14:21:54 +01:00
engines
schema
util Move event stream handling out of slave store. (#7491) 2020-05-15 16:43:59 +01:00
__init__.py
_base.py remove `builtins.buffer` code from storage code 2020-05-15 19:37:41 +01:00
background_updates.py
database.py Remove `exception_to_unicode` 2020-05-15 19:07:24 +01:00
keys.py Move storage classes into a main "data store". 2019-10-21 16:05:06 +01:00
persist_events.py Fix bug in persist events when dealing with non member types. (#7548) 2020-05-21 13:20:10 +01:00
prepare_database.py
presence.py
purge_events.py
push_rule.py
relations.py
roommember.py
state.py
types.py