synapse-product/synapse
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
..
_scripts Replace instance variations of homeserver with correct case/spacing 2019-11-12 13:08:12 +00:00
api Implement room version 6 (MSC2240). (#7506) 2020-05-15 09:30:10 -04:00
app Fix exception reporting due to HTTP request errors. (#7556) 2020-05-22 11:39:20 +01:00
appservice Fix a couple of small typos 2020-05-15 18:54:32 +01:00
config Fix some DETECTED VIOLATIONS in the config file (#7550) 2020-05-22 10:11:50 +01:00
crypto Clean up some LoggingContext stuff (#7120) 2020-03-24 14:45:33 +00:00
events Strictly enforce canonicaljson requirements in a new room version (#7381) 2020-05-14 13:24:01 -04:00
federation add a comment 2020-05-21 13:25:41 +01:00
groups Port group attestation renewal slow down from matrix-org-hotfixes (#7442) 2020-05-06 20:21:38 +01:00
handlers Add ability to wait for replication streams (#7542) 2020-05-22 14:21:54 +01:00
http Fix exception reporting due to HTTP request errors. (#7556) 2020-05-22 11:39:20 +01:00
logging remove miscellaneous PY2 code 2020-05-15 19:37:41 +01:00
metrics synapse.metrics: implement detailed memory usage reporting on PyPy (#7536) 2020-05-22 11:08:41 +01:00
module_api Convert auth handler to async/await (#7261) 2020-04-15 12:40:18 -04:00
push Convert sending mail to async/await. (#7557) 2020-05-22 13:41:11 +01:00
replication Add ability to wait for replication streams (#7542) 2020-05-22 14:21:54 +01:00
res/templates Implement OpenID Connect-based login (#7256) 2020-05-08 08:30:40 -04:00
rest Add ability to wait for replication streams (#7542) 2020-05-22 14:21:54 +01:00
server_notices Add ability to wait for replication streams (#7542) 2020-05-22 14:21:54 +01:00
spam_checker_api Add type hints to the spam check module (#6915) 2020-02-14 12:49:40 -05:00
state Allow configuration of Synapse's cache without using synctl or environment variables (#6391) 2020-05-11 18:45:23 +01:00
static Make it clearer to the user that they haven't overridden onLogin/Register (#7237) 2020-04-09 12:38:38 +01:00
storage Add ability to wait for replication streams (#7542) 2020-05-22 14:21:54 +01:00
streams Bump version of mypy 2019-12-12 15:21:12 +00:00
util Fix stacktrace mangling in patch_inline_callbacks (#7554) 2020-05-22 10:17:36 +01:00
__init__.py 1.13.0 2020-05-19 09:19:09 -04:00
event_auth.py Add type hints to event_auth code. (#7505) 2020-05-15 11:19:43 -04:00
notifier.py Fix new flake8 errors (#7489) 2020-05-13 08:24:50 -04:00
python_dependencies.py Implement OpenID Connect-based login (#7256) 2020-05-08 08:30:40 -04:00
secrets.py Run Black. (#5482) 2019-06-20 19:32:02 +10:00
server.py Add ability to wait for replication streams (#7542) 2020-05-22 14:21:54 +01:00
server.pyi Add ability to wait for replication streams (#7542) 2020-05-22 14:21:54 +01:00
types.py Validate the alt_aliases property of canonical alias events (#6971) 2020-03-03 07:12:45 -05:00
visibility.py Refactor a bit 2020-03-11 18:49:41 +00:00