forked-synapse/synapse/replication/tcp
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
..
streams Fix limit logic for AccountDataStream (#7384) 2020-05-15 19:03:25 +01:00
__init__.py Move client command handling out of TCP protocol (#7185) 2020-04-06 09:58:42 +01:00
client.py Add ability to wait for replication streams (#7542) 2020-05-22 14:21:54 +01:00
commands.py Support any process writing to cache invalidation stream. (#7436) 2020-05-07 13:51:08 +01:00
handler.py Have all instances correctly respond to REPLICATE command. (#7475) 2020-05-13 10:27:02 +01:00
protocol.py Don't relay REMOTE_SERVER_UP cmds to same conn. (#7352) 2020-04-29 14:10:59 +01:00
redis.py Fix Redis reconnection logic (#7482) 2020-05-13 09:57:15 +01:00
resource.py Have all instances correctly respond to REPLICATE command. (#7475) 2020-05-13 10:27:02 +01:00