summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erikj@element.io>2024-04-09 13:03:41 +0100
committerGitHub <noreply@github.com>2024-04-09 13:03:41 +0100
commitd40878451c1f76f10cfa1bb6befc9627fc13a104 (patch)
tree99615f429d80dcadb392ec1bd8035efb03f4f6bf
parentBump packaging from 23.2 to 24.0 (#17027) (diff)
downloadsynapse-d40878451c1f76f10cfa1bb6befc9627fc13a104.tar.xz
Add forgotten schema delta (#17054)
This should have been in #17045. Whoops.
-rw-r--r--changelog.d/17054.misc1
-rw-r--r--synapse/storage/databases/main/registration.py14
-rw-r--r--synapse/storage/schema/main/delta/84/04_access_token_index.sql15
3 files changed, 23 insertions, 7 deletions
diff --git a/changelog.d/17054.misc b/changelog.d/17054.misc
new file mode 100644
index 0000000000..0d042a43ff
--- /dev/null
+++ b/changelog.d/17054.misc
@@ -0,0 +1 @@
+Improve database performance by adding a missing index to `access_tokens.refresh_token_id`.
diff --git a/synapse/storage/databases/main/registration.py b/synapse/storage/databases/main/registration.py
index 30a3ae3055..29bf47befc 100644
--- a/synapse/storage/databases/main/registration.py
+++ b/synapse/storage/databases/main/registration.py
@@ -2108,6 +2108,13 @@ class RegistrationBackgroundUpdateStore(RegistrationWorkerStore):
             unique=False,
         )
 
+        self.db_pool.updates.register_background_index_update(
+            update_name="access_tokens_refresh_token_id_idx",
+            index_name="access_tokens_refresh_token_id_idx",
+            table="access_tokens",
+            columns=("refresh_token_id",),
+        )
+
     async def _background_update_set_deactivated_flag(
         self, progress: JsonDict, batch_size: int
     ) -> int:
@@ -2266,13 +2273,6 @@ class RegistrationStore(StatsStore, RegistrationBackgroundUpdateStore):
     ):
         super().__init__(database, db_conn, hs)
 
-        self.db_pool.updates.register_background_index_update(
-            update_name="access_tokens_refresh_token_id_idx",
-            index_name="access_tokens_refresh_token_id_idx",
-            table="access_tokens",
-            columns=("refresh_token_id",),
-        )
-
         self._ignore_unknown_session_error = (
             hs.config.server.request_token_inhibit_3pid_errors
         )
diff --git a/synapse/storage/schema/main/delta/84/04_access_token_index.sql b/synapse/storage/schema/main/delta/84/04_access_token_index.sql
new file mode 100644
index 0000000000..d2fa945c8f
--- /dev/null
+++ b/synapse/storage/schema/main/delta/84/04_access_token_index.sql
@@ -0,0 +1,15 @@
+--
+-- This file is licensed under the Affero General Public License (AGPL) version 3.
+--
+-- Copyright (C) 2023 New Vector, Ltd
+--
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU Affero General Public License as
+-- published by the Free Software Foundation, either version 3 of the
+-- License, or (at your option) any later version.
+--
+-- See the GNU Affero General Public License for more details:
+-- <https://www.gnu.org/licenses/agpl-3.0.html>.
+
+INSERT INTO background_updates (ordering, update_name, progress_json) VALUES
+    (8404, 'access_tokens_refresh_token_id_idx', '{}');