Category Archives: Server

Server update, 2015-01-12

Our first release of the new year is out today, containing the usual set of editing bug fixes and improvements. There’s also a small new feature in the release editor that allows propagating the release title and artist credit to the release group.

Anyone experiencing failures in InitDb.pl after upgrading DBD::Pg to version 3.5.0 will want to get this update, since it contains a workaround.

Thanks very much to chirlu, navap, nikki, and the MetaBrainz team for their work on today’s release.

The git tag is v-2015-01-12 and the full changelog is below.

Bug

  • [MBS-4904] – Edit search automatically focuses text fields on page load
  • [MBS-8025] – Spurious "performance" entries in work search results
  • [MBS-8032] – Internal server error applying problematic add ISRC edits
  • [MBS-8047] – Applied merge release groups link has broken links
  • [MBS-8099] – Edit search automatically focuses text fields when changing dropdowns
  • [MBS-8108] – Edit removing track with track mbid redirect can’t close
  • [MBS-8116] – Place edit form acts on outdated parse-coordinates responses
  • [MBS-8126] – InitDb.pl fails with newest DBD::Pg

Improvement

  • [MBS-2895] – Make it possible to propagate release changes to the release group
  • [MBS-6162] – Mention mbslave in INSTALL
  • [MBS-7498] – Recognise Deezer URLs
  • [MBS-7733] – Recognise and clean up 7digital.com URLs
  • [MBS-7924] – Match e-onkyo, hd-music and ototoy URLs with "purchase for download" relationship type
  • [MBS-8077] – Clean up mobile Soundcloud and ReverbNation URLs
  • [MBS-8078] – Match and clean up Google Play URLs
  • [MBS-8080] – Show CAA-down warning also when the Archive is down completely

New Feature

  • [MBS-7688] – Add autoselect for Vine URLs

Task

  • [MBS-5671] – MBServer internal code using old search json format should use new format

Server update, 2014-12-29

This release is quite small because it overlapped with the holidays, but contains a fix for an annoying guess-case issue in the release editor that several people reported. Thanks to chirlu for the rest of the bug fixes listed here!

The git tag is v-2014-12-29.

Bug

  • [MBS-4668] – Edit search loses selections when the page number is too high
  • [MBS-8064] – Can’t add documentation to migration-created relationship types
  • [MBS-8086] – Guess case for release title does not trigger an edit
  • [MBS-8091] – Can’t fix non-normalized artist credits

Server update, 2014-12-15

We’ve released another server update today, though a fairly modest one, since bigger changes have been happening in the background with embedding JSON-LD into our pages and switching our JavaScript over to browserify. A few more edit types have been made auto-edits for everyone, as detailed in the changelog below. There’s additionally been some misc. UI changes, and a fix to output artist genders in the JSON webservice.

Thanks to chirlu, nikki, reosarevok, and the MetaBrainz team for their hard work on today’s release.

The git tag is v-2014-12-15.

Bug

  • [MBS-7916] – “Set track durations” preview is broken for single-track mediums
  • [MBS-8008] – “Add Event” (entity) and “Add Event” (release event) share the same translation string
  • [MBS-8044] – Map doesn’t zoom when pasting coordinates
  • [MBS-8066] – “Date” field wraps inconsistently in different browsers
  • [MBS-8082] – Gender missing on artist lookup (JSON)

Improvement

  • [MBS-7478] – Make more use of HTML5 form field types
  • [MBS-7970] – Replace guess case bubbles with icons next to the fields
  • [MBS-7973] – Make remove alias/ISRC/ISWC edits auto-edits for auto-editors
  • [MBS-7975] – Make move disc ID edits auto-edits
  • [MBS-8045] – Update link_event to include dates

Server update, 2014-12-01

A day late, but hopefully no dollars short, we’re back with another release. This release is mostly bug fixes, as you’d expect right after a schema change release. nikki has done some work with our CSS, however, and chirlu did some work updating and clarifying our INSTALL.md. Thanks to them, mineo, and the MetaBrainz team for their work this release!

The git tag for this release is v-2014-12-01.

The usual list of bugs fixed:

Bug

  • [MBS-4232] – Edit artist shows artists credits section when it doesn’t apply
  • [MBS-4622] – Improve handling of cover art when JS is off
  • [MBS-6971] – No controls for uploading cover artwork in IE8
  • [MBS-7497] – cpanm install fails with Can’t locate File/Copy/Recursive.pm in @INC
  • [MBS-7952] – Release editor does not handle removed mediums correctly when reordering mediums
  • [MBS-7988] – Adding a pregap track to an existing tracklist and it shows as a data track
  • [MBS-7992] – Data track option doesn’t behave properly with disc IDs
  • [MBS-7993] – Edit medium edits for pre-gap tracks claim to change data tracks
  • [MBS-7995] – DBDefs.pm.sample is still at schema version 20
  • [MBS-8011] – Last.fm event URLs don’t get matched
  • [MBS-8013] – Cannot add data track to release
  • [MBS-8018] – “TypeError: MB.typeInfoByID[i] is undefined” when creating an event series
  • [MBS-8022] – Sorting event collections doesn’t work
  • [MBS-8024] – FixTrackLength script is setting incorrect lengths on pregap tracks
  • [MBS-8029] – Collections overview uses “Releases” even for events
  • [MBS-8033] – Encoding issue in some “explanation balloons”
  • [MBS-8034] – Duplicate relationships with attributes cause internal server error in release relationship editor

Improvement

  • [MBS-6332] – Allow sorting releases in collections by release date
  • [MBS-6333] – Allow sorting releases in collections by release country
  • [MBS-7824] – Add Barcode column to Collections releases view
  • [MBS-7997] – Show area in event lists
  • [MBS-8001] – Use larger Gravatar images on higher pixel density displays
  • [MBS-8009] – URL Cleanup should clean FB event links better
  • [MBS-8036] – Add URL matching for setlist.fm

Task

  • [MBS-6682] – Add eu.ftp.musicbrainz.org to INSTALL.md

Schema change upgrade instructions, schema 21

This upgrade shouldn’t be substantially different than past upgrades, now that we’ve fixed a few bugs with the process. To upgrade:

  1. Make sure your REPLICATION_TYPE setting is RT_SLAVE and your DB_SCHEMA_SEQUENCE is set to 20 in lib/DBDefs.pm.
  2. Ensure you’ve replicated up to the most recent replication packet available with the old schema. (if you’re not sure, run ./admin/replication/LoadReplicationChanges and see what it tells you).
  3. Take down the web server running MusicBrainz, if you’re running a web server.
  4. Turn off cron jobs if you are automatically updating the database via cron jobs.
  5. Switch to the new code with git fetch origin followed by git checkout schema-change-20-to-21
  6. Run ./upgrade.sh (or carton exec -Ilib -- ./upgrade.sh if you’re using carton, with very old setups).
  7. Set DB_SCHEMA_SEQUENCE to 21 in lib/DBDefs.pm
  8. Turn cron jobs back on, if needed.
  9. Restart the MusicBrainz web server, if applicable. It’s also recommended you restart memcached.

That’s it! The only real difference from the past is the specific tag to be used: schema-change-20-to-21, which is a couple of fix-up commits past the regular release tag.

Schema change update, 2014-11-17

We’re back with the schema change release, as promised! We only have a small collection of tickets, but several big things:

  • Pre-gap tracks and data tracks for CDs (where neither contribute to the discid, and pre-gap tracks have position of 0)
  • Collections can now be marked with types such as “owned” and “wishlist”, plus some special new types mentioned below.
  • CDStub data is now replicated.
  • All entities (except URLs) should now support tagging, as areas, instruments, and series were made taggable.
  • Events! And, additionally, event collections. All (non-deleted) users should have had an “Attending” and a “Maybe Attending” collection created, with the corresponding collection types.

Upgrade instructions will come in another blog post, though they should be substantially unchanged from past releases. Specifically, we’d like to confirm everything’s working correctly with a specific git commit, and make a new tag, before we post a recommendation, since there’s already been some problems discovered. Some slacker must not have tested this carefully enough (author whistles in an innocent-sounding fashion).

The git commit for this release (sans small fixes that have happened since release earlier today and any others that may need fixing) is v-2014-11-17-schema-change.

Bug

  • [MBS-7638] – CreateIndexes for instruments wrongly looks at label tables

Improvement

  • [MBS-967] – Support for hidden pre-gap tracks
  • [MBS-1059] – Types of list/collection
  • [MBS-7551] – Add folksonomy tag support to areas, instruments, and series
  • [MBS-7784] – Support for data tracks in tracklists

New Feature

Task

  • [MBS-7883] – Make sure delete_unused_url doesn’t remove URLs used in edits

Server update, 2014-11-03

This release was pushed back a week due to scheduling around the GSoC summit and upcoming schema change release, but here it finally is. Editors can take note that more edit types are now auto-edits: adding recording-work relationships, adding/editing aliases, setting track durations, and editing cover artwork. We’ve also added a “Make all edits votable” checkbox to allow edits that are normally always applied automatically (like capitalization changes) to be left open for voting if there’s any dispute or uncertainty. Auto-editors should be aware that this checkbox replaces the one that previously toggled their auto-editor privileges (so it should be left unchecked wherever it was previously left checked).

As part of this release, we’ve deployed some changes that should hopefully prevent slow /ws/2 searches from tying up too many perl processes on our frontends. This may reduce the number of 502s we’ve been seeing lately, but it’s a bit early to pronounce any results. Thanks go to kepstin for suggesting the nginx trickery used here.

More thanks go to chirlu, nikki, and ianmcorvidae for their hard work on today’s release.

The git tag is v-2014-11-03 and the full changelog is below.

Bug

  • [MBS-1444] – Make ‘i’ <-> ‘ı’ an auto-edit.
  • [MBS-5961] – BC dates in search results are parsed incorrectly
  • [MBS-6545] – Medium added without tracknumbers magically gains them
  • [MBS-7399] – Can’t link to TheSession.org’s artist pages
  • [MBS-7927] – Text strings on fingerprints tab are not correctly escaped
  • [MBS-7935] – Can’t add URL examples to relationship documentation
  • [MBS-7938] – Track parser resets track artists to the release artist when “lines contain track artists” is unchecked
  • [MBS-7960] – The link to the mailing lists doc page in the menu doesn’t work
  • [MBS-7961] – Wikidocs redirects are broken
  • [MBS-7962] – Links on /doc/ pages are no longer converted

Improvement

  • [MBS-1479] – Make it possible to leave a capitalization-diacritics edit open
  • [MBS-6011] – Strip out LRM/RLM characters in text with no RTL characters
  • [MBS-7880] – Release editor should have options to copy only titles or only artists to recordings, instead of always both
  • [MBS-7902] – Use nginx X-Accel-Redirect to handle Webservice search requests rather than doing it in perl
  • [MBS-7934] – Add IMSLP autoselect for artists
  • [MBS-7944] – Make recording-work add relationship edits auto-edits
  • [MBS-7945] – Make add/edit alias edits auto-edits
  • [MBS-7946] – Make set track duration edits auto-edits
  • [MBS-7947] – Make edit cover art edits auto-edits
  • [MBS-7953] – Extend normalise_strings to cover more punctuation

Task

  • [MBS-7939] – Add autoselect and validation for release-level Allmusic
  • [MBS-7942] – Add a bunch of sites to the whitelist for dbs