Breaking changes
This release upgrades to MusicBrainz database schema 26 and Solr search schema accordingly. It requires to run commands taking down all services during the upgrade.
If your musicbrainz-docker
is earlier than v-2020-08-24
, you must first update to it (see its release notes) and follow the upgrade instructions below, or remove everything using sudo docker-compose down --rmi local --volumes
and reinstall.
Upgrade instructions
Assuming your checked out version of musicbrainz-docker
is v-2020-08-24
or later, then:
-
Ensure you’ve replicated up to the most recent replication packet available with the old schema 25. If you’re not sure, run:
sudo docker-compose exec musicbrainz bash -c ./admin/replication/LoadReplicationChanges
and see what it tells you; if you’re ready to upgrade, it should say “This replication packet matches schema sequence #26, but the database is currently at #25.”
-
Turn off cron jobs:
admin/configure rm replication-cron sudo docker-compose up -d musicbrainz
-
If you’re using the live search indexing, disable it and uninstall its triggers as follows:
sudo docker-compose stop indexer admin/configure rm live-indexing-search sudo docker-compose up -d indexer admin/setup-amqp-triggers clean admin/setup-amqp-triggers install admin/setup-amqp-triggers uninstall
-
Switch to the new code with:
git fetch --tags origin git checkout v-2021-05-19 sudo docker-compose build
-
Upgrade the database schema (it may take a while to vacuum at the end, ignore the ending message about
DB_SCHEMA_SEQUENCE
):mkdir -p local/compose && cp -a admin/lib/upgrade-db-schema/musicbrainz-stopped.yml local/compose admin/configure add local-compose-musicbrainz-stopped sudo docker-compose up -d musicbrainz indexer sudo docker-compose exec musicbrainz upgrade-db-schema.sh
-
If you’re using the web interface or web service, run the following to build new materialized tables. These will take several additional gigabytes of spaces and be kept up-to-date automatically via triggers. For more information, see INSTALL.md.
sudo docker-compose exec musicbrainz bash -c './admin/BuildMaterializedTables --database=MAINTENANCE all'
-
If you’re using the live search indexing, install new triggers:
admin/setup-amqp-triggers install
then rebuild search indexes (or download pre-built search indexes); See Set up search indexes):
sudo docker-compose exec indexer python -m sir reindex
and re-enable live search indexing:
admin/configure add live-indexing-search
-
Turn cron jobs back on:
admin/configure rm local-compose-musicbrainz-stopped admin/configure add replication-cron
-
Stop Redis and restart all services:
sudo docker-compose stop redis sudo docker-compose up --build -d
Solved issues
- MBVM-68: fetch-dump using hardcoded path
- MBVM-70: Allow setting FTP mirror through Docker environment variable
- MBVM-71: Better handle mirror URL missing FTP scheme
Other changes
- Upgrade MusicBrainz Server to
v-2021-05-19-hotfixes
(release notes) - Upgrade MusicBrainz Solr search server to v3.4.2 (See also v3.4)
- Upgrade search indexer rebuilder to v2.1.0 (See also v2.0.0)