diff options
author | David Robertson <davidr@element.io> | 2022-10-13 18:32:16 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-13 17:32:16 +0000 |
commit | 16c5d95b594e4fe146947c4848057ebe0b9f900b (patch) | |
tree | 95901c3245fa9d2bc46f98348f2c423a524ffc29 | |
parent | Fixup changelog (diff) | |
download | synapse-16c5d95b594e4fe146947c4848057ebe0b9f900b.tar.xz |
Optimise the event_push_backfill_thread_id bg job (#14172)
Co-authored-by: Erik Johnston <erik@matrix.org>
-rw-r--r-- | changelog.d/14172.bugfix | 1 | ||||
-rw-r--r-- | synapse/storage/databases/main/event_push_actions.py | 10 |
2 files changed, 9 insertions, 2 deletions
diff --git a/changelog.d/14172.bugfix b/changelog.d/14172.bugfix new file mode 100644 index 0000000000..36521c670c --- /dev/null +++ b/changelog.d/14172.bugfix @@ -0,0 +1 @@ +Fix poor performance of the `event_push_backfill_thread_id` background update, which was introduced in Synapse 1.68.0rc1. diff --git a/synapse/storage/databases/main/event_push_actions.py b/synapse/storage/databases/main/event_push_actions.py index 87d07f7d9b..7f7bcb7094 100644 --- a/synapse/storage/databases/main/event_push_actions.py +++ b/synapse/storage/databases/main/event_push_actions.py @@ -297,9 +297,15 @@ class EventPushActionsWorkerStore(ReceiptsWorkerStore, StreamWorkerStore, SQLBas sql = f""" UPDATE {table_name} SET thread_id = 'main' - WHERE stream_ordering <= ? AND thread_id IS NULL + WHERE ? < stream_ordering AND stream_ordering <= ? AND thread_id IS NULL """ - txn.execute(sql, (max_stream_ordering,)) + txn.execute( + sql, + ( + start_stream_ordering, + max_stream_ordering, + ), + ) # Update progress. processed_rows = txn.rowcount |