summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard van der Hoff <1389908+richvdh@users.noreply.github.com>2021-05-24 14:03:00 +0100
committerGitHub <noreply@github.com>2021-05-24 14:03:00 +0100
commitdaca7b2794fb86514dc01de551bb0e5db77cf914 (patch)
treebf6e01d5a93df39c678d3ae3f7ef22adbafbb0d0
parentRemove `keylen` from `LruCache`. (#9993) (diff)
downloadsynapse-daca7b2794fb86514dc01de551bb0e5db77cf914.tar.xz
Fix off-by-one-error in synapse_port_db (#9991)
fixes #9979
-rw-r--r--.buildkite/postgres-config.yaml6
-rwxr-xr-x.buildkite/scripts/test_synapse_port_db.sh4
-rw-r--r--.buildkite/sqlite-config.yaml6
-rw-r--r--changelog.d/9991.bugfix1
-rwxr-xr-xscripts/synapse_port_db2
5 files changed, 10 insertions, 9 deletions
diff --git a/.buildkite/postgres-config.yaml b/.buildkite/postgres-config.yaml
index 2acbe66f4c..67e17fa9d1 100644
--- a/.buildkite/postgres-config.yaml
+++ b/.buildkite/postgres-config.yaml
@@ -3,7 +3,7 @@
 # CI's Docker setup at the point where this file is considered.
 server_name: "localhost:8800"
 
-signing_key_path: "/src/.buildkite/test.signing.key"
+signing_key_path: ".buildkite/test.signing.key"
 
 report_stats: false
 
@@ -16,6 +16,4 @@ database:
     database: synapse
 
 # Suppress the key server warning.
-trusted_key_servers:
-  - server_name: "matrix.org"
-suppress_key_server_warning: true
+trusted_key_servers: []
diff --git a/.buildkite/scripts/test_synapse_port_db.sh b/.buildkite/scripts/test_synapse_port_db.sh
index a7e2454769..82d7d56d4e 100755
--- a/.buildkite/scripts/test_synapse_port_db.sh
+++ b/.buildkite/scripts/test_synapse_port_db.sh
@@ -33,6 +33,10 @@ scripts-dev/update_database --database-config .buildkite/sqlite-config.yaml
 echo "+++ Run synapse_port_db against test database"
 coverage run scripts/synapse_port_db --sqlite-database .buildkite/test_db.db --postgres-config .buildkite/postgres-config.yaml
 
+# We should be able to run twice against the same database.
+echo "+++ Run synapse_port_db a second time"
+coverage run scripts/synapse_port_db --sqlite-database .buildkite/test_db.db --postgres-config .buildkite/postgres-config.yaml
+
 #####
 
 # Now do the same again, on an empty database.
diff --git a/.buildkite/sqlite-config.yaml b/.buildkite/sqlite-config.yaml
index 6d9bf80d84..d16459cfd9 100644
--- a/.buildkite/sqlite-config.yaml
+++ b/.buildkite/sqlite-config.yaml
@@ -3,7 +3,7 @@
 # schema and run background updates on it.
 server_name: "localhost:8800"
 
-signing_key_path: "/src/.buildkite/test.signing.key"
+signing_key_path: ".buildkite/test.signing.key"
 
 report_stats: false
 
@@ -13,6 +13,4 @@ database:
     database: ".buildkite/test_db.db"
 
 # Suppress the key server warning.
-trusted_key_servers:
-  - server_name: "matrix.org"
-suppress_key_server_warning: true
+trusted_key_servers: []
diff --git a/changelog.d/9991.bugfix b/changelog.d/9991.bugfix
new file mode 100644
index 0000000000..665ff04dea
--- /dev/null
+++ b/changelog.d/9991.bugfix
@@ -0,0 +1 @@
+Fix a bug introduced in v1.26.0 which meant that `synapse_port_db` would not correctly initialise some postgres sequences, requiring manual updates afterwards.
diff --git a/scripts/synapse_port_db b/scripts/synapse_port_db
index 7c7645c05a..86eb76cbca 100755
--- a/scripts/synapse_port_db
+++ b/scripts/synapse_port_db
@@ -959,7 +959,7 @@ class Porter(object):
         def r(txn):
             txn.execute(
                 "ALTER SEQUENCE event_auth_chain_id RESTART WITH %s",
-                (curr_chain_id,),
+                (curr_chain_id + 1,),
             )
 
         if curr_chain_id is not None: