From 7f5d753d06c5d36097e68045cfc83a32ee6e7889 Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Tue, 2 Mar 2021 14:31:23 +0000 Subject: [PATCH] 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. --- changelog.d/9503.bugfix | 1 + .../09rejected_events_metadata.sql} | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 changelog.d/9503.bugfix rename synapse/storage/databases/main/schema/delta/{58/28rejected_events_metadata.sql => 59/09rejected_events_metadata.sql} (57%) diff --git a/changelog.d/9503.bugfix b/changelog.d/9503.bugfix new file mode 100644 index 000000000..086869138 --- /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 similarity index 57% rename from synapse/storage/databases/main/schema/delta/58/28rejected_events_metadata.sql rename to synapse/storage/databases/main/schema/delta/59/09rejected_events_metadata.sql index 9c9564628..cc9b267c7 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', '{}');