Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-38050

The range deleter doesn't validate it is still operating on the same collection after the deletion loop

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v4.0, v3.6
    • Sprint:
      Sharding 2018-12-17
    • Linked BF Score:
      48

      Description

      After the first collection lock acquisition, the CollectionRangeDeleter's asynchronous thread validates that it is operating on the same collection it was scheduled with.

      However, later on it drops the collection lock in order to wait for majority replication/range deleter throttling and when it reacquires it back after the blocking wait completes, it doesn't re-check whether the collection is still the same and proceeds to directly modify the metadata manager state which might be for a completely different collection now.

        Attachments

          Activity

            People

            Assignee:
            blake.oler Blake Oler
            Reporter:
            kaloian.manassiev Kaloian Manassiev
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: