diff options
author | Erik Johnston <erik@matrix.org> | 2021-11-08 11:34:03 +0000 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2021-11-08 11:34:03 +0000 |
commit | 58864265d15809e824bb6cb02e4c3a9f533e4aae (patch) | |
tree | 7578438369ce85ce6c189acee879578ad77ec007 /synapse/storage/prepare_database.py | |
parent | Add spans for sync (diff) | |
parent | Blacklist new sytest validation test (#11270) (diff) | |
download | synapse-58864265d15809e824bb6cb02e4c3a9f533e4aae.tar.xz |
Merge remote-tracking branch 'origin/develop' into erikj/slow_sync_diag
Diffstat (limited to 'synapse/storage/prepare_database.py')
-rw-r--r-- | synapse/storage/prepare_database.py | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/synapse/storage/prepare_database.py b/synapse/storage/prepare_database.py index 1629d2a53c..b5c1c14ee3 100644 --- a/synapse/storage/prepare_database.py +++ b/synapse/storage/prepare_database.py @@ -133,22 +133,23 @@ def prepare_database( # if it's a worker app, refuse to upgrade the database, to avoid multiple # workers doing it at once. - if ( - config.worker.worker_app is not None - and version_info.current_version != SCHEMA_VERSION - ): + if config.worker.worker_app is None: + _upgrade_existing_database( + cur, + version_info, + database_engine, + config, + databases=databases, + ) + elif version_info.current_version < SCHEMA_VERSION: + # If the DB is on an older version than we expect the we refuse + # to start the worker (as the main process needs to run first to + # update the schema). raise UpgradeDatabaseException( OUTDATED_SCHEMA_ON_WORKER_ERROR % (SCHEMA_VERSION, version_info.current_version) ) - _upgrade_existing_database( - cur, - version_info, - database_engine, - config, - databases=databases, - ) else: logger.info("%r: Initialising new database", databases) |