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!

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

Server update 2011-12-05

Another update has just gone out, a few days later than planned. This is mostly a bug fix and minor improvement release. Sadly, when deploying the update we broke the release editor for anyone who was editing during the server switches – something we didn’t anticipate. Sorry! Here’s what’s changed:

Bug

  • [MBS-2371] – Can’t type in the basic tracklist editor
  • [MBS-2785] – Release Editor messes up release artist multi-artist credits
  • [MBS-3152] – Tracklist duplication with sub-second track duration differences
  • [MBS-3428] – If seed new release with track artist ids it doesnt properly resolve the artist ids
  • [MBS-3471] – Wrong display of RG in the Edit Note tab of the RE
  • [MBS-3498] – Editing tracklists on any release which has been through an artist split fails.
  • [MBS-3601] – Incorrect "Artist as credited" displayed and impossible to edit track artist in release editor
  • [MBS-3804] – Entering "Edit barcodes" edit should not be possible if nothing is being changed
  • [MBS-3808] – Internal server error searching for edits
  • [MBS-3813] – Release editor gets stuck on tracklist tab saying there are errors when there are none
  • [MBS-3814] – Guess case broken in the RE
  • [MBS-3816] – Track parser displays "This is placeholder text" instead of instructions (or nothing)
  • [MBS-3831] – "There were one or more errors, please check the following fields: " after changing the capitalization of one letter
  • [MBS-3836] – Tracklist tab showing only the first track when importing a CD stub
  • [MBS-3849] – RE: Can’t import FreeDB releases through Add Disc
  • [MBS-3858] – Tracklist duplication with equal sub-second track durations
  • [MBS-3864] – importing a cd stub only gives you the first track in the track editor
  • [MBS-3908] – Edit numbers in edit notes should not be parsed when they are on different lines

Improvement

  • [MBS-89] – Subscribed artist e-mails should be optional
  • [MBS-2924] – timeline.js should use MB.html
  • [MBS-3239] – Subscription emails > Option to receive weekly
  • [MBS-3356] – Seeded add release (copied from existing release) doesnt link tracks to recordings of copied release
  • [MBS-3684] – Improve sorting of the "Releases with superfluous data tracks" report
  • [MBS-3743] – Move the trackparser (basic view) on the tracklist tab to the "Add Disc" dialog.
  • [MBS-3892] – Display artist disambiguation comments on mouse over

New Feature

  • [MBS-3899] – Report: Discogs pages attached to multiple release groups

Task

  • [MBS-3911] – Remove all "DeferredUpdate" code

Sub-task

  • [MBS-3733] – Add create/get session logging to release editor, to debug MBS-3379 / MBS-3590.

Server update 2011-11-21

A few days behind on this one, but we’ve got this release out. This release has one controversial change, which I want to discuss in this blog post.

Displaying Relationships on Release Pages

A lot of people want this, and we’ve shipped something that adds this functionality. However, a lot of people think this is too verbose, and to a point I agree – there’s a lot of information there that can be displayed better. However, work on this issue has been on and off for almost the past 2 years. We’ve got a solution here that while far from ideal will get this ball rolling.

This is an unpopular move on my half, but I’m asking users to please try and bear with us until the next release (scheduled in for 5th December), which is just over a week away. Hopefully having this fairly messy display so open will raise enough discussion on how exactly to move forward. If you really must see it gone, you can use AdBlock or user styles in your browser to hide the dl.ars element.

Changes in this Release

  • [MBS-2067] – CDStub not displayed in the "Matching CDs" section on CDTOC lookup page
  • [MBS-3668] – all edits including "Auto-edits" are being tallied as "Accepted" edits in editor profile
  • [MBS-3688] – Wrong coverart on all-zeros barcodes
  • [MBS-3718] – Inline search has problems with search terms with " (double quotes) and colons in them (and maybe others)
  • [MBS-3734] – Google indexes MusicBrainz search result (and some other) pages it shouldn’t
  • [MBS-3754] – Splitting an artist shouldn’t be an auto-edit
  • [MBS-3755] – Importing from FreeDB puts the artist name in the wrong field
  • [MBS-3759] – Auto-editor election isn’t showing own vote (instead: private)
  • [MBS-3764] – Typo on artist merge page
  • [MBS-3768] – Error when editing URL into one that already exists
  • [MBS-3777] – Musicbrainz breaks https://secure.wikimedia.org link in edit notes
  • [MBS-3786] – Entities with tag count on top of tag view page is incorrect

Improvement

  • [MBS-2979] – Enable CORS (Cross-Origin Resource Sharing)
  • [MBS-3105] – Country/Language/Script statistics should include a statistic for those with none set.
  • [MBS-3752] – Making edit note for "Add release" mandatory
  • [MBS-3767] – Distinguish between Discogs master and release URLs on release pages
  • [MBS-3778] – Separate release group links from release links on release pages

New Feature

  • [MBS-496] – Display recording relationships on a release page
  • [MBS-3761] – Add songfacts to the sideboard

Server update 2011-11-14

It’s been a while, but we’ve finally got a new server release out! This one didn’t go perfectly smoothly, and we had (more, i’m afraid) troubles with the release editor. We’ve got a fix for this out, so editing should be at least as stable as it was before. As always, please do continue to report any bugs you find. Here’s what’s changed:

Bug

  • [MBS-761] – Release has ASIN but no cover art ("No cover image available.")
  • [MBS-1169] – Musicbrainz website is missing HTML escaping on user entered data
  • [MBS-2529] – Orphaned release group and recordings after rejecting or cancelling a release/medium
  • [MBS-2590] – Unused URLs not being removed
  • [MBS-2847] – Merging artists moves the comment from the old artist to the new one
  • [MBS-3102] – Changing release artists automatically changes all track artists
  • [MBS-3305] – Artist missing in edit medium edit
  • [MBS-3451] – Unterminated link on CD Stub page causes "Overview" and "Edit" tabs to display incorrectly
  • [MBS-3466] – otherlookup for non-existent MBID throws ISE
  • [MBS-3522] – Bad gateway errors in Add Missing Entities trying to add large VA releases without locking down artists
  • [MBS-3656] – Clicking text (Yes/No/Abstain/None) on the most recent open edit changes votes on all edits in that page.
  • [MBS-3657] – Medium order not allowed when merging releases
  • [MBS-3675] – Modbot failing edit relationship edits with "This relationship has already been deleted"
  • [MBS-3677] – Recording page doesn’t highlight releases with pending edits or show disambiguation comments
  • [MBS-3689] – Tagger button on tag lookup for recordings confusingly leads to "non-album tracks"
  • [MBS-3715] – Fix the wording for YouTube videos on the sidebar
  • [MBS-3719] – Format/display of recording search results is broken for standalone recordings
  • [MBS-3741] – Incorrect artist_credit.name

Improvement

  • [MBS-1766] – Display lyrics and score links in work sidebar (in the External link section)
  • [MBS-2478] – Pages for releases should also show ARs from the release group they are contained within.
  • [MBS-2942] – Warn users that FreeDB indexes are only updated monthly
  • [MBS-3192] – Display release group URLs also on release pages
  • [MBS-3495] – Make IMSLP links look like the Wikipedia ones
  • [MBS-3508] – Indicate if a release group contains only one release in release group
  • [MBS-3713] – Add JS autoselect for the SoundCloud relationships
  • [MBS-3714] – Add cleanup for YouTube video URLs
  • [MBS-3747] – Create script to split arranger relationships

New Feature

  • [MBS-71] – Add auto-editor elections

Task

  • [MBS-3697] – MusicBrainz needs to comply with new changes of Amazon Product Advertising API taking effect on October 25, 2011
  • [MBS-3710] – Tranclude "People" instead of "MusicBrainz_Bio"

Picard 0.16 released with AcoustID support

Lukáš Lalinský announced here:

Hello,

We released a new version of Picard today. This new release includes a number of bug fixes. Unicode punctuation is now replaced by default for new users. Title standardization has been removed, as track titles now follow the same style guidelines as recording titles.

One larger change that is hidden by default is support for AcoustID fingerprinting. AcoustID is a new, completely open source, audio fingerprinting project, started by me last year. I’m really glad to finally integrate it with Picard. Integration with the MusicBranz website is planned for later. Configuring Picard to use AcoustID instead of AmpliFIND should be completely transparent, there are no visual differences in the scanning process. Note that this feature requires downloading an extra application, see the AcoustID wiki page for details.

Changes since version 0.15.1:

  • Added AcoustID support.
  • Fixed track metadata plugins.
  • Added new internal %_totalalbumtracks% tag field. (PICARD-16)
  • Track metadata plugins now run also on non-album tracks. (PICARD-7)
  • Fixed custom Various Artists name on the %albumartist% field. (PICARD-5)
  • Album artist is now correctly “translated”. (PICARD-1)
  • Unicode punctuation is now converted to ASCII by default.
  • WavPack correction files are moved together with the main files. (PICARD-15)
  • Unicode filename normalization on OS X.
  • Original release date is now saved into %originaldate%.
  • Allow tagging with localized artist aliases (PICARD-17)
  • Added a quit confirmation dialog. (PICARD-46)
  • Standalone recordings can be tagged with relationships now. (PICARD-10)
  • Refreshing an album will refresh its “other versions” listing. (PICARD-8)
  • “Unicode punctuation to ASCII” now works on album-level metadata. (PICARD-50)
  • DJ-mix tags should only be written to the medium where they apply. (PICARD-20)
  • Support URL redirects in web service/network request module (PICARD-54)
  • Jamendo and Archive.org cover art is displayed on web page, but not loaded by Picard plugin (PICARD-52)
  • Edits to metadata in “Details…” menu not reflected in UI (PICARD-13)
  • The status bar/new metadata box is updated when a selected file/track is changed. (PICARD-14)

You can download the new version, as usual, at http://musicbrainz.org/doc/MusicBrainz_Picard

Server update, 2011-10-10

With the summit arrangements this release has become delayed, but we’re happy to announce that we have just finished releasing this version (live from the summit!). Here’s what’s been fixed in this release:

Bug

  • [MBS-1868] – Historic move disc id appears oddly
  • [MBS-2001] – Some AddReleaseLabel edits have no entity_id
  • [MBS-2196] – Can’t delete unused relationship type
  • [MBS-2429] – External links don’t appear for last.fm URLs
  • [MBS-2467] – RE: Add Missing Entities problems with caps
  • [MBS-2539] – Inline tag edit : forbidden characters are not removed form the edit box
  • [MBS-2682] – [ws/1] track-list offset is incorrect
  • [MBS-2699] – Merging works always add titles of merged works as aliases of target work
  • [MBS-2938] – Cannot import/seed 99-track releases from FreeDB
  • [MBS-3034] – Immediately remove PUID
  • [MBS-3070] – Release editor cannot be seeded with >99 for array-like elements
  • [MBS-3223] – Work relationships not available in web service recording requests
  • [MBS-3336] – NGS /ws/1 doesn’t include some relationships
  • [MBS-3350] – ws/2 browsing release by track artist
  • [MBS-3372] – Add relationship not linking to the URL entity
  • [MBS-3442] – WS/2: Can’t browse work by artist (ws/2/work?artist=MBID)
  • [MBS-3456] – Selecting recording from search results in work "Relate to…" doesn’t close results
  • [MBS-3463] – Remove ISRC edits are not shown pending on recording page
  • [MBS-3477] – Crash when trying to edit a release to create a new release group
  • [MBS-3483] – Release editor > Importing a Various Artists CDStub doesn’t import track artists
  • [MBS-3509] – Change release group via release editor doesn’t show up in edit history / open edits of target release group
  • [MBS-3523] – Entity not being selected for relationship
  • [MBS-3528] – Internal Server Error – Couldn’t render template "undef error – Can’t call method "value" on an undefined value at /usr/local/share/perl/5.10.1/HTML/FormHandler/Field.pm line 89. "
  • [MBS-3564] – Cover arts from ozon.ru are not diplayed
  • [MBS-3570] – change direction not working when no relationship type was selected first.
  • [MBS-3573] – Got Internal Server Error while updating info for ‘Mob Hits [Disc 2]’
  • [MBS-3577] – Release editor converts unicode characters to HTML quotations
  • [MBS-3584] – amazon.es is not recognized as ASIN in "Add URL Reference"
  • [MBS-3591] – Finding some labels in AJAX search is impossible
  • [MBS-3592] – Artist aliases have extremely low priority when doing a simple search
  • [MBS-3622] – Internal Server Error during import of freedb release that cannot be found
  • [MBS-3623] – Edit relationship fails with internal error when attempting to move credits between recordings
  • [MBS-3625] – The FreeDB page throws an exception if you try and view it when the disc doesn’t exist

Improvement

  • [MBS-962] – Allow more characters in tags
  • [MBS-2276] – Report: released before 1982 but has DiscID attached or CD medium
  • [MBS-3234] – Report: deprecated use of "(feat."
  • [MBS-3295] – Report: releases with an ASIN as catalogue number
  • [MBS-3382] – Report: releases with only some mediums with format
  • [MBS-3582] – Amazon-Links should state country like Wikipedia links do
  • [MBS-3620] – Improve the search results for autocompleted editor searches

New Feature

  • [MBS-3363] – Report: same ASINs attached to multiple releases
  • [MBS-3364] – Report: Discogs pages attached to multiple releases

Sub-task

  • [MBS-3315] – Add the ‘Possibly duplicate artists’ report
  • [MBS-3316] – Add the ‘Release Groups that might need to be merged’ report
  • [MBS-3317] – Add the ‘Releases with duplicated or missing track numbers’ report
  • [MBS-3318] – Add the ‘Releases with superfluous data tracks’ report
  • [MBS-3319] – Add the ‘Tracks whose names include their sequence numbers’ report

Schema change release, 2011-07-11

Today we released our first schema change update since NGS. This change is quite a radical one, as it merges both of our databases (“READWRITE” and “RAWDATA”) into a single database. For most users of the database, this probably won’t affect you, but you’re encouraged to run the upgrade process anyway. Here’s what you need to do:

  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. Set DB_SCHEMA_SEQUENCE to 13 in lib/DBDefs.pm
  4. Make sure your REPLICATION_TYPE setting is RT_SLAVE
  5. Switch to the new code with git fetch origin followed by git checkout v-20110711-schema-change
  6. Run ./upgrade.sh from the top of the source directory.
  7. Install the perl modules Algorithm::Merge and Algorithm::Diff
  8. Turn cron jobs back on, if needed.
  9. Restart the MusicBrainz web server, if needed.

This process may take a while, as it has to dump one database into another, and download a few extra changes to ensure slaves aren’t missing any data. The RAWDATA database should no longer be in use and you should be able to drop it, but waiting to see that everything is working well might be a good idea.

This schema change does not introduce any new data. For everyone else, here’s a list of what got fixed since the last release!

Bug

  • [MBS-1977] – ModBot is unable to close some edits
  • [MBS-1979] – Unable to edit a “later translated versions” relationship with change direction
  • [MBS-2026] – Subscribed artists open edits won’t load for editors with large amounts of subscriptions
  • [MBS-2442] – MB postgres unaccent extension overwrites unaccent.so library shipped with postgres-contrib
  • [MBS-2689] – Timeline isn’t working in Opera 10
  • [MBS-2698] – Some tables are not replicated through Live data feed
  • [MBS-2812] – Adding track times has caused a failed dependency for an edit which changed the track titles.
  • [MBS-2826] – Web service returns malformed XML (not escaped properly)
  • [MBS-2831] – “Edit medium” edit display: Artist credits changes are incorrect
  • [MBS-2974] – I don’t receive e-mail when someone votes no to my edit any more
  • [MBS-2981] – Changing the case of recording comments should be auto-edits
  • [MBS-2986] – tracklist_index was not populated during NGS
  • [MBS-2995] – Caught exception in MusicBrainz::Server::Controller::WS::2::ReleaseGroup->release_group_browse “Can’t call method “format”

Improvement

  • [MBS-1500] – Remove tracklist_index.tracks
  • [MBS-1707] – Advanced tracklist in RE: “Title” to “Disc title”
  • [MBS-2242] – Disable editing of Medium title when there’s only one medium
  • [MBS-2434] – Combine READWRITE and RAWDATA
  • [MBS-2462] – Other edit types that don’t highlight what has changed between old and new values
  • [MBS-2583] – “Edit Medium” should show you which medium is being edited with respect to the overall release
  • [MBS-2767] – Release-group XML result should include first release date

Server updated

We just updated the main server with the latest and greatest features:

New Features

  • Lucene Search – New search functions that uses a Lucene text search engine. See the text
    search documentation
    for details on how to use this new search. However, indexes are currently only updated once a day, so the old search
    feature is still available for when you need to find something that may have changed in the last day.
  • XMLWebservice – This new XML based web service drastically improves on the old RDF based web service by being more standards compliant and
    having a much more granular control over what data is returned for each query. Read the documentation
    how to use this new service. Please note that this is in BETA and the service is still subject to change!
  • New option to “approve” edits for auto moderators (719)
  • New links “Create relationship with this artist/album/track” and “Relate to URL” to speed up the process of
    adding AdvancedRelationships (21)
  • Adding more complete release dates is now auto moderation. (759)
  • New option to automatically subscribe to artists created by you (995)
  • Numerous improvements and bugfixes to the guess case and related Javascript tools.
    (12)
  • Subscribing to an artist redirects to the artist page, rather than the (sometimes) large list of subscribed artists
    (605)
  • More “intelligent” defaults guessing of new track artists for album moves (1015)
  • For move, artist changes and some other edits: link every participating entity in the moderation pages, and add as much information as necessary
    for checking its correctness. (610, 623 and
    920)
  • Improved Disc Id move, target album is searchable and moves are allowed for VA albums (155)
  • Reports: 2 small reports added (albums with language but no script and the other way around (621),
    simplification of the MultipleTRMsPerAlbum report for faster creation.
  • ASIN ARs now update the relevant albummeta table data as well. (1039)

Fixed bugs

  • Fixed merging of albums/artists with AdvancedRelationships (916)
  • Album Moving in batch mode will now change track artists as well (972)
  • Fixed some issues in “best match” calculation for searches (985)
  • Fixed failed moderations counter in user profile (1018)
  • Fixed bugs in ASIN AR cover image URL extraction. (1061)
  • and many more we already forgot about — please see this
    report
    for all the bugs that were closed for this releases.

Thanks to everyone who helped in this release!

Server Updates

Voting “inline”, a faster voting infrastructure, send e-mails using your real e-mail address, and a small number of other changes.

Changes mainly of interest to MusicBrainz Users

Inline Moderation

(This feature by Robert Kaye)

In an effort to reduce the voting backlog, the system now shows you
one vote at a time whenever you’re on an artist, album or track page.
The moderation chosen is, in order of preference: for this artist; for one of
your subscribed artists; for an artist related to this artist; or anything
at random.  When you click one of the three voting buttons (yes, no,
abs) then the voting panel reloads to show something else to vote on.
The rest of the page remains unchanged.

Faster Voting Pages

The moderation database tables have been reorganised behind the
scenes.  The result of this is that
the voting pages (in particular)
should be much faster.  See “Moderation Table Restructuring” below
for more technical details of what’s actually changed.

Reveal My E-Mail Address

When sending an e-mail to another moderator, it’s now possible
(as long as you’ve told MusicBrainz your e-mail address) to choose
to reveal your e-mail address to the other party.  Doing so makes it
much easier for them to reply to you.  The default setting is
controlled by a new preference, which in turn
defaults to “off” (i.e. don’t reveal my address).
Read the help for more information.

Other Changes

  • When searching for moderations, you can now search for mods
    on artists related to some given artist.
  • Tied votes are now passed (previously there had to be a clear majority to
    win).
  • When sending an e-mail to another moderator, sometimes extra quotes were
    added to the subject line (so instead of the subject being Hi
    there
    for example, it would be “Hi there”).  These
    stray quotes have now been removed.
  • The HTML generated by a “Link with Icon” (for an artist, album or track
    link) now ensures that the icon will be on the same line as the text which
    follows.
  • For “Edit Artist Alias”, “Edit Artist Sortname”, “Edit Track Number” and
    “Merge Artist” moderations, if the record being changed is missing then close
    the moderation with a “Failed prerequisite” status instead of “Internal
    error”.
  • The “Show TRM” page now sorts the matched tracks by artist and album, and
    only shows each album once (even if more than one track on that album
    matches the TRM).
    Example.

New and Changed Documentation

Changes mainly of interest to MusicBrainz Programmers

If you download and import the MusicBrainz database (including the
moderation tables) from time to time, read “Moderation Table Restructuring”
(below).

Changes mainly of interest to MusicBrainz Server Programmers

Mason

(This feature by Duncan Findlay)

The MusicBrainz server now uses Mason
1.25 (previously we used 1.05).  Mason underwent something of a
redesign following 1.05, so making it past this “hurdle” should help us in
the future.

Moderation Table Restructuring

The moderation-related tables have been reorganised, so as to speed up the
voting pages.  Almost all queries against the moderation tables deal
with open moderations, but Postgres seemed to be having trouble optimising
those queries (despite an index on moderation.status).  Well, maybe we
missed something obvious, maybe not.  Anyway, what we’ve done is to
split the three tables (moderation, moderationnote and votes) into six
(moderation_open, moderation_note_open, vote_open;
and
moderation_closed, moderation_note_closed, vote_closed).  So most
queries can now just refer to moderation_open, which is a MUCH smaller table
than moderation used to be.

As a side-effect, the data for closed moderations is now dumped into a
separate file (mbdump-closedmoderation.tar.bz2), making the
mbdump-moderation.tar.bz2 file much smaller.  Hence, if you
want to download open moderation data but have no need for closed
moderations, life has just become a little easier for you.

Other Changes

The CreateTables-mysql.sql
script has been removed.  It was generally poorly maintained, and
hardly ever tested, and the costs of maintaining it outweighed the
benefits.  If you want to create a MusicBrainz database in MySQL,
start with the CreateTables.sql
script.


RDFDump.pl
has been fixed. RDF dumps now contain all artists
we have in the database.

Bugs and RFEs Closed

Dave Evans