From 41a389934e45dd2a9e96b0b465626adef18b25b8 Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Wed, 11 Nov 2020 15:08:03 +0000 Subject: [PATCH] Fix port script fails when DB has no backfilled events. (#8729) Fixes #8618 --- changelog.d/8729.bugfix | 1 + scripts/synapse_port_db | 12 +++++------- 2 files changed, 6 insertions(+), 7 deletions(-) create mode 100644 changelog.d/8729.bugfix diff --git a/changelog.d/8729.bugfix b/changelog.d/8729.bugfix new file mode 100644 index 000000000..7f59a3b9e --- /dev/null +++ b/changelog.d/8729.bugfix @@ -0,0 +1 @@ +Fix port script fails when DB has no backfilled events. Broke in v1.21.0. diff --git a/scripts/synapse_port_db b/scripts/synapse_port_db index 7a638ea8e..604b961bd 100755 --- a/scripts/synapse_port_db +++ b/scripts/synapse_port_db @@ -876,14 +876,12 @@ class Porter(object): "ALTER SEQUENCE events_stream_seq RESTART WITH %s", (next_id,) ) - txn.execute("SELECT -MIN(stream_ordering) FROM events") + txn.execute("SELECT GREATEST(-MIN(stream_ordering), 1) FROM events") curr_id = txn.fetchone()[0] - if curr_id: - next_id = curr_id + 1 - txn.execute( - "ALTER SEQUENCE events_backfill_stream_seq RESTART WITH %s", - (next_id,), - ) + next_id = curr_id + 1 + txn.execute( + "ALTER SEQUENCE events_backfill_stream_seq RESTART WITH %s", (next_id,), + ) return self.postgres_store.db_pool.runInteraction( "_setup_events_stream_seqs", r