2012-01-12 Schema change fix for replicated slaves

Sadly, our testing for replication failed to catch a problem with the instructions we posted yesterday. If, when running the replication scripts you encountered the below error, please read on!

Attribute (conn) does not pass the type constraint because: Validation
failed for 'DBIx::Connector' with value DBI::db=HASH(0x9e957d0)
(not isa DBIx::Connector)

We made some changes to our database connection routines recently, and the replication scripts were not correctly migrated. We’ve got these changes in now though, so to fix this problem, repeat the instructions in our previous post, but use the v-2012-01-12-schema-change-2 tag. This should correspond to commit eb89c2b51f79..., which you can verify by running git rev-parse HEAD.

Sorry about these problems!

2012-01-12 Schema change upgrade instructions for replicated setups

We just finished the latest schema change release! If you are running a full musicbrainz-server mirror, then follow these instructions for upgrading your installation:

  1. Take down the web server running MusicBrainz, if you’re running a web server.
  2. Turn off cron jobs if you are automatically updating the database via cron jobs.
  3. Make sure your REPLICATION_TYPE setting is RT_SLAVE
  4. Switch to the new code with git fetch origin followed by git checkout v-2012-01-12-schema-change-2
  5. Install any necessary perl modules by running perl ./Makefile.PL and sudo make installdeps
  6. Run ./upgrade.sh from the top of the source directory.
  7. Set DB_SCHEMA_SEQUENCE to 14 in lib/DBDefs.pm
  8. Turn cron jobs back on, if needed.
  9. Restart the MusicBrainz web server, if needed.

If you are running a mbslave mirror, check out the latest code and read the upgrade instructions in the README file.

Schema change, 2012-01-12

We’ve just finished pushing out the scheduled schema change update today. A slightly rocky experience, but we’ve managed to get everything ironed out now and our servers are back to their normal selves. Before, I get into release notes, a few notes for people who’d like to upgrade their non-replicated servers. For replicated servers, please see this post.

  1. First, update your repository to the v-2012-01-12-schema-change tag.
  2. Next, disable any MusicBrainz cron jobs you might have scheduled to run
  3. Run ./upgrade.sh provided in the root directory of your musicbrainz-server checkout.
  4. Update your DBDefs DB_SCHEMA_SEQUENCE configuration option to 14.
  5. Turn any cron jobs back on

And onto the release notes!

Bug

  • [MBS-2121] – Deleting track/row in advanced tracklist editor while artist credits "dialog" is open leaves it stuck
  • [MBS-2390] – It’s not really possible to assign a track to a recording because cannot see length of track in either tracklist or proposal list
  • [MBS-2620] – Most ‘edit’ edits do not check for conflicts
  • [MBS-3393] – App keeps DB connections open and doesn’t reconnect upon DB restart.
  • [MBS-3696] – Using Jamendo as License Relationship fails due to Javascript change to Cover Art relationship
  • [MBS-3972] – ISWC column on works page should be nowrap
  • [MBS-4046] – Releases with pending edits are not marked as such in label page
  • [MBS-4099] – The server should give a good error message when it can’t connect to the DB
  • [MBS-4103] – Problems building database extensions with Ubuntu 11.10
  • [MBS-4129] – "Edit artist" doesn’t change artist credit for credits that were unchecked by default but checked manually
  • [MBS-4132] – Rate limited pages send HTML as text/plain
  • [MBS-4134] – Javascript sorting broken on Country statistics page since comma has been introduced
  • [MBS-4136] – beta.mb: recording edits generated by release editor when updating recording information from track changes are not auto-edits
  • [MBS-4138] – Language-Script page in statistics broke
  • [MBS-4146] – Track times deleted if using tab key
  • [MBS-4149] – The added referrer stuff breaks Amazon UK links
  • [MBS-4157] – beta.mb: Edit recording edits seem to create a ‘edit release’ edit too
  • [MBS-4169] – CDToc page shows blank/empty catalog numbers separated by commas

Improvement

  • [MBS-1482] – Report: no language, no script
  • [MBS-2439] – Releases with multiple catalog numbers are shown multiple times on the Label page.
  • [MBS-2513] – Allow updating recording information when track information changes via the release editor
  • [MBS-3288] – Release group type isn’t shown when looking up a release group
  • [MBS-4105] – Warn when merging releases with track artists that don’t match

New Feature

  • [MBS-4147] – Display AcoustIDs using JavaScript

Task

  • [MBS-3672] – Remove the deprecated Live Sound Engineer relationship

Sub-task

  • [MBS-2676] – Filter by relationship type

Server release tomorrow, January 12: Noon PST, 3PM EST, 20:00UK, 21:00CEST

We’re going to push out a server release tomorrow, January 12, at Noon PST, 3PM EST, 20:00UK, 21:00CEST. We expect to be offline for only a few minutes, but we’re going say that we’ll be offline for about 15 minutes starting right around that time.

Once we complete the server release, we’re going to post the usual list of bugs fixed, changes applied and new features created. Stay tuned!

Server update, 2012-01-05

With Christmas, New Year, and all that fuss out of the way, I’ve finally been able to get a new release out. We’re only 2 weeks behind on this one I think… oops. Hopefully, we make up for it with these fixes. Also, just a quick reminder that our little scheduling website is open, and needs your feedback to help us decide what will make it into future versions. Happy editing!

Bug

  • [MBS-1117] – Show relationship attributes on artist relationship pages
  • [MBS-1169] – Musicbrainz website is missing HTML escaping on user entered data
  • [MBS-1391] – Relate to… box stays up until you click cancel
  • [MBS-2022] – Amazon referrer stuff not included in Amazon links
  • [MBS-2770] – Inline Search: problems changing from indexed to direct
  • [MBS-3352] – Typing "57" in length field should become "0:57"
  • [MBS-3357] – In Release Editor Recordings tab there direct search doesnt seem to consider the artist when showing matches.
  • [MBS-3512] – Release editor added a track duration out of the blue
  • [MBS-3790] – Error (foreign key constraint violation) when editing URL
  • [MBS-3832] – Clicking one "vote on all edits" button doesn’t unselect other
  • [MBS-3941] – Can’t unselect an entity in Add Missing Entities
  • [MBS-3942] – Proposer and seconders can’t see voting tally in autoeditor elections
  • [MBS-3953] – /ws/2/release/mbid with ‘recordings’ inc parameter crashes if the release doesn’t have any tracks
  • [MBS-3970] – Admin menu in menu bar not displayed anymore
  • [MBS-4012] – Track times without colons are no longer guessed
  • [MBS-4015] – Edit Relationship page is missing some css
  • [MBS-4042] – Disambiguation field is still labelled as "comment" on some pages
  • [MBS-4086] – Data dumps don’t import using master

Improvement

  • [MBS-801] – Display release relationships on release page
  • [MBS-1362] – Add Range-checkbox-checking to site
  • [MBS-1368] – Inline Search: focus on a field
  • [MBS-1627] – Transcluded documentation should have hierarchy links
  • [MBS-1904] – Background no longer changes colour when voting
  • [MBS-1911] – Cryptic warning when merging works.
  • [MBS-2409] – Allow removing recording-PUID links from the /puid pages
  • [MBS-2465] – RE: Add Guess Sortname to the Add Missing Entities tab
  • [MBS-2531] – Add IPI lookup to the lookup page
  • [MBS-2890] – Show artist comment in Edit / Add medium edits
  • [MBS-3042] – Add the possibility to update artist credits when renaming an artist
  • [MBS-3277] – Make menus go away when I stop hovering
  • [MBS-3447] – Releases should show how many people have it in their collection
  • [MBS-3494] – Allow "Edit artist credit" to rename artist credits
  • [MBS-3520] – Rename "quality" to "data quality"
  • [MBS-3604] – Use tooltip to inform users on tracklist editor why they cannot edit track lengths
  • [MBS-3854] – Annotation history page is confusing
  • [MBS-3896] – "Change RG" page says nothing if search finds no results
  • [MBS-3999] – Add user panel display for limited accounts
  • [MBS-4011] – Allow kasi-time.com URLs for lyrics

Task

  • [MBS-3779] – Products menu needs to link to client libraries

Sub-task

  • [MBS-3973] – Filter by label country

Search server bug fix release: 2011-12-24

On Christmas eve we updated our search servers with a couple of bug fixes, but then got side-tracked with Christmas itself to write this blog post. I’m finally now fixing this. 🙂

We updated our search server so that is it rate limiter enabled, which will allow us to free up another machine in the New Year. We also have two fixes in search to give better results when a name is made up of numbers, or a title contains punctuation characters.

Release Notes – MusicBrainz Search Server – Version 2011-12-24

Bug

  • [SEARCH-158] – artist not found when searching
  • [SEARCH-159] – : shoud be ignored when searching

New Feature

  • [SEARCH-161] – Search server should consult ratelimit-server

Many thanks to Paul for working on this!

Scheduling opened to all unscheduled tickets

We finished making some decisions on a few tickets in IRC today regarding scheduling stuff that was in the Scheduling Game. After this, we decided that it was time to open the game up to all issues that we weren’t sure when to schedule. This means that scheduling.ocharles.org.uk now has approx. 700 issues that we need help scheduling!

For more information on the scheduling game, see the introductory blog post.

It’s a lot to get through, but over time, the critical issues should gradually rise to the top, and our core developers can help solve these as quickly as possible. Happy voting, and thanks for all your help so far!

Schema change releases for 2012

One of the issues raised at the last summit was that our customers could use more time to prepare for schema change releases, since they require engineering effort on their part. In an effort to meet our customer’s needs we’re going to a set schedule for schema change releases. Going forward we’re going to have two schema change releases per year: On or about 15 May and on or about 15 October.

We’ve picked these two dates as dates that have the least amount of impact from holidays and people taking holidays. Most companies have normal working schedules around these dates, which should allow companies to dedicate the required resources to handle our schema changes.

However, we have one significant change that we need to push out on a more timely basis than May of next year. For that reason we’re going to plan a one-time exception to our new schedule for 12 January 2012. You can see the tickets we’ve scheduled for release in January in this schema change milestone.

We’ve already created release versions in Jira for all of the schema change releases in 2012. As we go through the year we’re going to add tickets to that milestone. Of course, we’re going to make lots of noise as these schema change release dates approach. We’re going to post a list of tickets that will be included no later than a month before the release.

Any questions? Ask them in the comments!

Search server update 2011-12-08

We’ve just updated our search server with the latest changes and bug fixes!

This update to the Search Server finally solves the search for artist “!!!” problem properly, should now be able to find just about any artist, release, etc that contain any crazy character combination. Also you can now search for number of releases in release groups and artists with unknown gender. The code base has now been updated to Lucene 3.4, which was the latest available when these changes were made (its at 3.5 now).

Thanks for your hard work on this Paul!

Bug

  • [SEARCH-33] – Search needs to find a preposterously bad label name: !"@.*!%
  • [SEARCH-51] – Searching for certain characters returns no results, even if they’re valid.
  • [SEARCH-131] – When search for Unknown country it returns <country>UNKNOWN</country> it should return nothing
  • [SEARCH-134] – Annotation search can’t filter by type for release groups

Improvement

  • [SEARCH-93] – Update Search Index Code to Lucene 3.4
  • [SEARCH-119] – Allow artist search for gender:unknown
  • [SEARCH-124] – Allow searching release groups by # releases
  • [SEARCH-128] – Make Search Server use mmap by default