github metabrainz/musicbrainz-docker v-2021-05-19

3 years ago

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:

  1. 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.”

  2. Turn off cron jobs:

    admin/configure rm replication-cron
    sudo docker-compose up -d musicbrainz
  3. 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
  4. Switch to the new code with:

    git fetch --tags origin
    git checkout v-2021-05-19
    sudo docker-compose build
  5. 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
  6. 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'
  7. 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
  8. Turn cron jobs back on:

    admin/configure rm local-compose-musicbrainz-stopped
    admin/configure add replication-cron
  9. 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)

Don't miss a new musicbrainz-docker release

NewReleases is sending notifications on new releases.