2 files changed, 6 insertions, 7 deletions
diff --git a/changelog.d/8729.bugfix b/changelog.d/8729.bugfix
new file mode 100644
index 0000000000..7f59a3b9e2
--- /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 7a638ea8e3..604b961bd2 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
|