Fix port script fails when DB has no backfilled events. (#8729)

Fixes #8618
This commit is contained in:
Erik Johnston 2020-11-11 15:08:03 +00:00 committed by GitHub
parent 5829872bec
commit 41a389934e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 7 deletions

1
changelog.d/8729.bugfix Normal file
View File

@ -0,0 +1 @@
Fix port script fails when DB has no backfilled events. Broke in v1.21.0.

View File

@ -876,13 +876,11 @@ class Porter(object):
"ALTER SEQUENCE events_stream_seq RESTART WITH %s", (next_id,) "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] curr_id = txn.fetchone()[0]
if curr_id:
next_id = curr_id + 1 next_id = curr_id + 1
txn.execute( txn.execute(
"ALTER SEQUENCE events_backfill_stream_seq RESTART WITH %s", "ALTER SEQUENCE events_backfill_stream_seq RESTART WITH %s", (next_id,),
(next_id,),
) )
return self.postgres_store.db_pool.runInteraction( return self.postgres_store.db_pool.runInteraction(