summary refs log tree commit diff
path: root/changelog.d/16639.bugfix
diff options
context:
space:
mode:
authorErik Johnston <erikj@matrix.org>2023-11-16 13:05:09 +0000
committerGitHub <noreply@github.com>2023-11-16 13:05:09 +0000
commitfef08cbee8d0bc47262bc479500ce31bb430cc47 (patch)
tree949f2190df731dd5d9e05ebc9ef6a15a57f0c165 /changelog.d/16639.bugfix
parentMore efficiently handle no-op POSITION (#16640) (diff)
downloadsynapse-fef08cbee8d0bc47262bc479500ce31bb430cc47.tar.xz
Fix sending out of order `POSITION` over replication (#16639)
If a worker reconnects to Redis we send out the current positions of all our streams. However, if we're also trying to send out a backlog of RDATA at the same time then we can end up sending a `POSITION` with the current token *before* we've sent all the RDATA before the current token.

This doesn't cause actual bugs as the receiving servers see the POSITION, fetch the relevant rows from the DB, and then ignore the old RDATA as they come in. However, this is inefficient so it'd be better if we didn't  send out-of-order positions
Diffstat (limited to 'changelog.d/16639.bugfix')
-rw-r--r--changelog.d/16639.bugfix1
1 files changed, 1 insertions, 0 deletions
diff --git a/changelog.d/16639.bugfix b/changelog.d/16639.bugfix
new file mode 100644
index 0000000000..3feff89af6
--- /dev/null
+++ b/changelog.d/16639.bugfix
@@ -0,0 +1 @@
+Fix sending out of order `POSITION` over replication, causing additional database load.