summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2021-10-27 12:33:21 +0100
committerGitHub <noreply@github.com>2021-10-27 11:33:21 +0000
commit72626b78ef4aa9ab0bd11e332495f34bd43bbc26 (patch)
tree435e2abe746d4e50048ea4052b5f83189defe8dd
parentUpdate CHANGES.md (diff)
downloadsynapse-72626b78ef4aa9ab0bd11e332495f34bd43bbc26.tar.xz
Fix thread BG update to not seq scan event_json (#11192)
For some reason the query optimiser decided to seq scan both tables,
rather than index scanning `event_json`.
-rw-r--r--changelog.d/11192.feature1
-rw-r--r--synapse/storage/databases/main/events_bg_updates.py2
2 files changed, 2 insertions, 1 deletions
diff --git a/changelog.d/11192.feature b/changelog.d/11192.feature
new file mode 100644
index 0000000000..76b0d28084
--- /dev/null
+++ b/changelog.d/11192.feature
@@ -0,0 +1 @@
+Experimental support for the thread relation defined in [MSC3440](https://github.com/matrix-org/matrix-doc/pull/3440).
diff --git a/synapse/storage/databases/main/events_bg_updates.py b/synapse/storage/databases/main/events_bg_updates.py
index f92d824876..ae3a8a63e4 100644
--- a/synapse/storage/databases/main/events_bg_updates.py
+++ b/synapse/storage/databases/main/events_bg_updates.py
@@ -1108,7 +1108,7 @@ class EventsBackgroundUpdatesStore(SQLBaseStore):
                 """
                 SELECT event_id, json FROM event_json
                 LEFT JOIN event_relations USING (event_id)
-                WHERE event_id > ? AND relates_to_id IS NULL
+                WHERE event_id > ? AND event_relations.event_id IS NULL
                 ORDER BY event_id LIMIT ?
                 """,
                 (last_event_id, batch_size),