summary refs log tree commit diff
path: root/changelog.d
diff options
context:
space:
mode:
authorSean Quah <8349537+squahtx@users.noreply.github.com>2022-08-18 11:53:02 +0100
committerGitHub <noreply@github.com>2022-08-18 11:53:02 +0100
commit84169a82dcf7dfb6eb7d307ea7f5e33cb57f6e3f (patch)
tree4aeefdf294bf62977997040c06b0a6889b38b05c /changelog.d
parentAdd metrics to track how the rate limiter is affecting requests (sleep/reject... (diff)
downloadsynapse-84169a82dcf7dfb6eb7d307ea7f5e33cb57f6e3f.tar.xz
Avoid blocking lazy-loading `/sync`s during partial joins (#13477)
Use a state filter or accept partial state in a few places where we
request state, to avoid blocking.

To make lazy-loading `/sync`s work, we need to provide the memberships
of event senders, which are not guaranteed to be in the room state.
Instead we dig through auth events for memberships to present to
clients. The auth events of an event are guaranteed to contain a
passable membership event, otherwise the event would have been rejected.

Note that this only covers the common code paths encountered during
testing. There has been no exhaustive checking of all sync code paths.

Fixes #13146.

Signed-off-by: Sean Quah <seanq@matrix.org>
Diffstat (limited to 'changelog.d')
-rw-r--r--changelog.d/13477.misc1
1 files changed, 1 insertions, 0 deletions
diff --git a/changelog.d/13477.misc b/changelog.d/13477.misc
new file mode 100644
index 0000000000..5d21ae9d7a
--- /dev/null
+++ b/changelog.d/13477.misc
@@ -0,0 +1 @@
+Faster room joins: Avoid blocking lazy-loading `/sync`s during partial joins due to remote memberships. Pull remote memberships from auth events instead of the room state.