diff options
author | Erik Johnston <erik@matrix.org> | 2021-03-02 14:31:23 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-02 14:31:23 +0000 |
commit | 7f5d753d06c5d36097e68045cfc83a32ee6e7889 (patch) | |
tree | 1caa7a732dcd29ebf739d4f269bdbc4bab431eee | |
parent | Fix SQL delta file taking a long time to run (#9516) (diff) | |
download | synapse-7f5d753d06c5d36097e68045cfc83a32ee6e7889.tar.xz |
Re-run rejected metadata background update. (#9503)
It landed in schema version 58 after 59 had been created, causing some servers to not run it. The main effect of was that not all rooms had their chain cover calculated correctly. After the BG updates complete the chain covers will get fixed when a new state event in the affected rooms is received.
-rw-r--r-- | changelog.d/9503.bugfix | 1 | ||||
-rw-r--r-- | synapse/storage/databases/main/schema/delta/59/09rejected_events_metadata.sql (renamed from synapse/storage/databases/main/schema/delta/58/28rejected_events_metadata.sql) | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/changelog.d/9503.bugfix b/changelog.d/9503.bugfix new file mode 100644 index 0000000000..0868691389 --- /dev/null +++ b/changelog.d/9503.bugfix @@ -0,0 +1 @@ +Fix missing chain cover index due to a schema delta not being applied correctly. Only affected servers that ran development versions. diff --git a/synapse/storage/databases/main/schema/delta/58/28rejected_events_metadata.sql b/synapse/storage/databases/main/schema/delta/59/09rejected_events_metadata.sql index 9c95646281..cc9b267c7d 100644 --- a/synapse/storage/databases/main/schema/delta/58/28rejected_events_metadata.sql +++ b/synapse/storage/databases/main/schema/delta/59/09rejected_events_metadata.sql @@ -13,5 +13,14 @@ * limitations under the License. */ +-- This originally was in 58/, but landed after 59/ was created, and so some +-- servers running develop didn't run this delta. Running it again should be +-- safe. +-- +-- We first delete any in progress `rejected_events_metadata` background update, +-- to ensure that we don't conflict when trying to insert the new one. (We could +-- alternatively do an ON CONFLICT DO NOTHING, but that syntax isn't supported +-- by older SQLite versions. Plus, this should be a rare case). +DELETE FROM background_updates WHERE update_name = 'rejected_events_metadata'; INSERT INTO background_updates (ordering, update_name, progress_json) VALUES (5828, 'rejected_events_metadata', '{}'); |