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

Range deletion task submission via OpObserver is racy

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.4.0-rc0, 4.7.0
    • Component/s: Sharding
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v4.4
    • Sprint:
      Sharding 2020-04-06
    • Linked BF Score:
      32

      Description

      When we submit ranges for deletion on recipient shards, we submit them through the onUpdate OpObserver when an update is received to remove the 'pending' flag from a document in config.rangeDeletions. This submits an async task which will eventually cause the range to be deleted. The problem is that if the deletion task reaches this line before the commit of the update that triggered it, then it may find that the update has not yet occurred, leading this task to be abandoned. This will lead to orphaned documents until failover, a consequence of which is that incoming migrations for that range will be blocked.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              matthew.saltz Matthew Saltz
              Reporter:
              matthew.saltz Matthew Saltz
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: