From d40878451c1f76f10cfa1bb6befc9627fc13a104 Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Tue, 9 Apr 2024 13:03:41 +0100 Subject: [PATCH] Add forgotten schema delta (#17054) This should have been in #17045. Whoops. --- changelog.d/17054.misc | 1 + synapse/storage/databases/main/registration.py | 14 +++++++------- .../main/delta/84/04_access_token_index.sql | 15 +++++++++++++++ 3 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 changelog.d/17054.misc create mode 100644 synapse/storage/schema/main/delta/84/04_access_token_index.sql diff --git a/changelog.d/17054.misc b/changelog.d/17054.misc new file mode 100644 index 000000000..0d042a43f --- /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 30a3ae305..29bf47bef 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 000000000..d2fa945c8 --- /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: +-- . + +INSERT INTO background_updates (ordering, update_name, progress_json) VALUES + (8404, 'access_tokens_refresh_token_id_idx', '{}');