summary refs log tree commit diff
path: root/changelog.d/9640.misc
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2021-03-18 15:52:26 +0000
committerGitHub <noreply@github.com>2021-03-18 15:52:26 +0000
commitdd71eb0f8ab5a6e0d8eda3be8c2d5ff01271d147 (patch)
treefeef9f010e5593a5fc604876c06d75e706f7d364 /changelog.d/9640.misc
parentEnsure we use a copy of the event content dict before modifying it in seriali... (diff)
downloadsynapse-dd71eb0f8ab5a6e0d8eda3be8c2d5ff01271d147.tar.xz
Make federation catchup send last event from any server. (#9640)
Currently federation catchup will send the last *local* event that we
failed to send to the remote. This can cause issues for large rooms
where lots of servers have sent events while the remote server was down,
as when it comes back up again it'll be flooded with events from various
points in the DAG.

Instead, let's make it so that all the servers send the most recent
events, even if its not theirs. The remote should deduplicate the
events, so there shouldn't be much overhead in doing this.
Alternatively, the servers could only send local events if they were
also extremities and hope that the other server will send the event
over, but that is a bit risky.
Diffstat (limited to 'changelog.d/9640.misc')
-rw-r--r--changelog.d/9640.misc1
1 files changed, 1 insertions, 0 deletions
diff --git a/changelog.d/9640.misc b/changelog.d/9640.misc
new file mode 100644
index 0000000000..3d410ed4cd
--- /dev/null
+++ b/changelog.d/9640.misc
@@ -0,0 +1 @@
+Improve performance of federation catch up by sending events the latest events in the room to the remote, rather than just the last event sent by the local server.