diff options
author | Brendan Abolivier <babolivier@matrix.org> | 2019-06-13 15:57:55 +0100 |
---|---|---|
committer | Brendan Abolivier <babolivier@matrix.org> | 2019-06-13 15:57:55 +0100 |
commit | 26a27e06b960e30e2f4f0a5054ffdacc848150c9 (patch) | |
tree | d021ba804b116896b7a045cafffe65da93685054 | |
parent | Fix bogus changelog (diff) | |
download | synapse-26a27e06b960e30e2f4f0a5054ffdacc848150c9.tar.xz |
Create the index in a background update
-rw-r--r-- | synapse/storage/profile.py | 15 | ||||
-rw-r--r-- | synapse/storage/schema/delta/55/profile_replication_status_index.sql (renamed from synapse/storage/schema/delta/54/profile_replication_status_index.sql) | 3 |
2 files changed, 15 insertions, 3 deletions
diff --git a/synapse/storage/profile.py b/synapse/storage/profile.py index 04908cbc35..919b1f1641 100644 --- a/synapse/storage/profile.py +++ b/synapse/storage/profile.py @@ -19,12 +19,12 @@ from twisted.internet import defer from synapse.api.errors import StoreError from synapse.storage.roommember import ProfileInfo -from ._base import SQLBaseStore +from . import background_updates BATCH_SIZE = 100 -class ProfileWorkerStore(SQLBaseStore): +class ProfileWorkerStore(background_updates.BackgroundUpdateStore): @defer.inlineCallbacks def get_profileinfo(self, user_localpart): try: @@ -166,6 +166,17 @@ class ProfileWorkerStore(SQLBaseStore): class ProfileStore(ProfileWorkerStore): + def __init__(self, db_conn, hs): + + super(ProfileStore, self).__init__(db_conn, hs) + + self.register_background_index_update( + "profile_replication_status_host_index", + index_name="profile_replication_status_idx", + table="profile_replication_status", + columns=["host"], + ) + def add_remote_profile_cache(self, user_id, displayname, avatar_url): """Ensure we are caching the remote user's profiles. diff --git a/synapse/storage/schema/delta/54/profile_replication_status_index.sql b/synapse/storage/schema/delta/55/profile_replication_status_index.sql index 7c20cb5a44..18a0f7e10c 100644 --- a/synapse/storage/schema/delta/54/profile_replication_status_index.sql +++ b/synapse/storage/schema/delta/55/profile_replication_status_index.sql @@ -13,4 +13,5 @@ * limitations under the License. */ -CREATE UNIQUE INDEX profile_replication_status_idx ON profile_replication_status(host); +INSERT INTO background_updates (update_name, progress_json) VALUES + ('profile_replication_status_host_index', '{}'); |