Uploaded image for project: 'MusicBrainz Server'
  1. MusicBrainz Server
  2. MBS-5974

Merges do not clear the cache for entities.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Normal Normal
    • None
    • None
    • Edit system
    • None

      So, https://beta.musicbrainz.org/label/c595c289-47ce-4fba-b999-b87503e8cb71 right now is where I found this. But I think it applies to anything that uses Data::Role::Merge:

      a.) in Data::Role::EntityCacheBase we have an "after 'merge'" sub which deletes from the cache. Great!
      b.) in Data::Role::Merge we override whatever merge function is created (with an empty sub), which we recognize as a hack and say that a closed ticket we wontfixed (MBS-2618) will fix, and then do the merge with an "around 'merge'".

      I'm pretty sure this means that Data::Role::Merge destroys our cache flush. More sure of that given there's only two edits to that label which would concern the cache – one was an autoedit (add label, for the one that went away in the merge: https://beta.musicbrainz.org/edit/21198741 ) and the other was a merge ( https://beta.musicbrainz.org/edit/21202641 ). Third-most-recent edit that would have touched edits_pending was in 2010. Production DB has 0 for edits_pending, so it's not an edit class problem – it's changing the edits_pending correctly in the DB, it's just not clearing the cache :/

      Role::InsertUpdateDelete follows a similar method for inserts, updates, and deletes.

      Role::Merge is used by labels, recordings, release groups, urls, and works. Role::InsertUpdateDelete is used by oauth applications, editor oauth tokens, and genders.

            Unassigned Unassigned
            ianmcorvidae Ian McEwen
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:

                Version Package