We have two small user-visible changes this release. Thanks very much to Zastai and chirlu for working on these. The git tag is
This is a small bug-fix release. Server development has slowed down while we work on writing Docker containers for our new hosting infrastructure. But code contributions are always welcome. Thanks to Ulrich Klauer (chirlu) for his work on MBS-8806 this release.
The git tag is
- [MBS-8806] – Artist credits disappearing from tracklist & recordings after editing
- [MBS-8987] – Untouched URLs are automatically/suddenly cleaned up
- [MBS-8996] – Error message when trying to merge releases displays as “ARRAY(stuff)”
- [MBS-8997] – Merging releases with “(Disc 1)”, “(Disc 2)” etc in titles selects all as disc 1
- [MBS-8999] – Track lengths are in the wrong table column in the release editor
- [MBS-8994] – Allow passing &dismax=true through to the search server so Picard can show the same results as on the website
Our release today contains the usual lot of bug fixes and improvements. Thanks to yvanz, chirlu, and reosarevok for their contributions. The git tag is
- [MBS-7358] – Edit types not translated on Release editor / edit note tab
- [MBS-7963] – Release editor doesn’t prevent too long disambiguation comments
- [MBS-8809] – ASIN cleanup can be defective
- [MBS-8951] – Recent notes is broken
- [MBS-8968] – JSON version of artist includes gender-id value, which has no xml equivalent
- [MBS-8977] – Edit searches with relationship type conditions cause an internal server error
- [MBS-8983] – « Show only results that are in my subscribed entities. » checkbox broken
- [MBS-8985] – Fix CPDL URLs matching and clean it up
- [MBS-9000] – HTML special characters are not escaped on aliases page
- [MBS-7111] – Improve URL matching for musik-sammler.de links
- [MBS-8982] – Stop “fixing” piano with Guess Case
This server release contains fixes for bugs introduced in the recent schema change, and some other small improvements listed below. Thanks to reosarevok, chirlu, yvanz, and gcilou for their contributions this time around. The git tag is
- [MBS-7986] – Misleading error message for event setlists
- [MBS-8941] – Beta: Last AC in a release sometimes doesn’t change with the rest when changing release artist
- [MBS-8942] – Beta: cursor moves to the end of AC search field when removing a letter in the middle of the name
- [MBS-8950] – iTunes favicon is not displayed on the sidebar
- [MBS-8959] – Can’t add new packaging types – ISE
- [MBS-8824] – Update the rateyourmusic logo used in the sidebar
- [MBS-8925] – Limit BookBrainz relationship to BookBrainz URLs
- [MBS-8957] – Update SecondHandSongs icon and add BBC logo in the sidebar
Starting with this release, PostgreSQL 9.5 is now our minimum supported version. In order to import any future data sets, you will need to upgrade your installation to version 9.5.
Due to unforeseen problems with the Live Data Feed (AKA replication), users with slave databases will be required to first import a fresh data dump into their new 9.5 installation. We apologize that this is the case, but even had this stream not been broken, doing a clean import is faster and easier than doing the migration. For details on what happened during this rather lengthy schema change release, stay tuned for a post mortem blog post that covers the details.
If you have a non-replicated standalone database, you can use pg_upgrade and run ./upgrade.sh directly, but for simplicity we strongly recommend importing the latest data dump. Thus, we will only provide instructions for a clean import:
- Make sure you have PostgreSQL 9.5 installed, and your database settings in lib/DBDefs.pm are updated to point to the 9.5 installation if you currently have an older version of postgres running. If you already have postgres 9.5 and want to replace the existing database there, you’ll need to drop it first (using dropdb or from within psql). Be careful that you’re not dropping any important data if this is a standalone database that you’ve made changes to.
- Take down the web server running MusicBrainz, if you’re running a web server.
- Turn off cron jobs if you are automatically updating the database via cron jobs.
- Switch to the new code with
git fetch originfollowed by
git checkout v-2016-05-23-schema-change-v2
cpanm --installdeps --notest .to ensure your perl-based dependencies are up to date. Note the dot at the end.
DB_SCHEMA_SEQUENCEto 23 in
- Download the latest data dumps. If you don’t need historical edit data, excluding the edit dump will speed up your import significantly.
- Initialize a new database from the data dumps downloaded in step 7. Detailed instructions for doing this are located in INSTALL.md in the musicbrainz-server repository; if your data dumps are in /tmp, the command should simply be something like
./admin/InitDb.pl --createdb --import /tmp/mbdump*.tar.bz2.
- After the import has finished, turn cron jobs back on, if applicable.
- Restart the MusicBrainz web server, as well as memcached, if applicable.
We would like to thank bitmap, Gentlecat, zas, chirlu, reosarevok, gcilou for contributing directly to the release and we’d also like to thank all of the people who helped test, debug or otherwise offer support in this quite difficult release. Thank you!
And finally, here’s the list of changes you can expect in the upgrade:
- [MBS-6406] – Admins can’t change email addresses
- [MBS-8288] – Missing indexes for inverse lookup on *_gid_redirect tables
- [MBS-8669] – Primary key for place table missing on old slaves
- [MBS-8906] – Release pages ISE if CB doesn’t return JSON from its API for whatever reason
- [MBS-8928] – If you submit the release editor without being logged in, it displays “[object Object]” as an error mesage
- [MBS-8943] – Some pages do not respect DB_READ_ONLY setting
- [MBS-1873] – Fix vote tallies for edits
- [MBS-3887] – Duplicate artist and label names not being checked against alias
- [MBS-8287] – Log deleted entities that were in a subscribed collection
- [MBS-8433] – Work attributes don’t have a uuid
- [MBS-8716] – Store the edit data in a JSONB column
- [MBS-8717] – Move the edit data to a separate table
- [MBS-8838] – Add gids to all *_type* tables
- [MBS-8873] – Convert and unify artist credit editors to React
- [MBS-8909] – Add logos to IMDb and VGMdb links in the sidebar
- [MBS-8939] – Update the Instagram logo used in the sidebar
- [MBS-8940] – Let banner message editors dismiss the banner only temporarily
- [MBS-8656] – Bring edit table indexes back into sync
- [MBS-8719] – Stop materializing of edit and vote counts
- [MBS-8720] – Add a materialized view of edit note recipients
- [MBS-8727] – Prevent duplicate votes
- [MBS-8800] – Create the earthdistance extension and add a geodetic index for place coordinates
- [MBS-8804] – Add BRIN indexes for timestamp columns
- [MBS-8897] – add new entity icons
- [MBS-8938] – Schema changes to support alternative tracklists
Zas and I have been working hard to improve the capacity and stability of the site. In the last week, we’ve identified and fixed at least 3 problems with the search servers and we’ve added a timeout function that times out queries that take longer than 3 seconds. We think that the main cause of trouble was that queries were piling up after a slow query ran too long and that the servers never recovered from that and consequently crashed.
We won’t go as far as saying that the search servers are fixed — every time we have a smidgen of hope that things are improving, they crash again. Seemingly out of spite! So, the search servers are better.😉
Zas has also made a number of changes to the gateways and how we rate limit our incoming traffic. The rate limiting is now being done in a smarter way that reduces the overall traffic on our web servers. Well done!
We’ve also increased our bandwidth budget by 4mbits per second, which makes the site feel considerably more responsive.
Let me put these improvement into numbers: About a week ago were were struggling to keep up 250 requests per second and the site felt very sluggish. Now we can handle 500 requests a second and the site feels considerably faster. For large chunks of the day we are managing to handle all the traffic we should handle. And, the search servers haven’t crashed in 4 days!
We hope that this will give us a solid base from which to release the scheme upgrade tomorrow. Then once that is complete, we will start work on moving to the new hosting company.
Thanks for being patient with us!
This is a small bug-fix release while we work on finishing the May schema change update. Thanks go to reosarevok and ethus3h for their patches this time around. The git tag is
v-2016-04-04 and you can find the complete changelog below.
- [MBS-8850] – No events tab for tags
- [MBS-8861] – Vertical spacing off on editor profile if “last login” is missing (account admins only)
- [MBS-8874] – Editing an entity sometimes shows it as a possible duplicate of itself
- [MBS-8591] – Increase pagination item count