From 59488c8ba7fb389842b123e637b46ae2b9d7fd32 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Sat, 28 May 2022 22:55:28 +0100 Subject: [PATCH] Fix `get_metadata_for_events` This method was introduced in #12852. It is using the `state_key` column from the `events` table, which is not (yet) reliable (see #11496). --- changelog.d/12904.misc | 1 + synapse/storage/databases/main/state.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 changelog.d/12904.misc diff --git a/changelog.d/12904.misc b/changelog.d/12904.misc new file mode 100644 index 000000000000..afca32471fb1 --- /dev/null +++ b/changelog.d/12904.misc @@ -0,0 +1 @@ +Pull out less state when handling gaps in room DAG. diff --git a/synapse/storage/databases/main/state.py b/synapse/storage/databases/main/state.py index ea5cbdac08eb..a07ad85582cb 100644 --- a/synapse/storage/databases/main/state.py +++ b/synapse/storage/databases/main/state.py @@ -167,8 +167,8 @@ def get_metadata_for_events_txn( ) sql = f""" - SELECT e.event_id, e.room_id, e.type, e.state_key FROM events AS e - LEFT JOIN state_events USING (event_id) + SELECT e.event_id, e.room_id, e.type, se.state_key FROM events AS e + LEFT JOIN state_events se USING (event_id) WHERE {clause} """