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

Best effort checks in range deleter can leave orphans

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.2.0, 5.0.4
    • Affects Version/s: 5.0.3, 4.4.9, 5.1.0-rc0
    • Component/s: None
    • Fully Compatible
    • ALL
    • v5.1, v5.0, v4.4
    • Sharding EMEA 2021-11-01
    • 24

      This problem is present in different flavours on different branches.

      The objective of this ticket is to understand if such checks can be eliminated (e.g. relying on the local collection catalog) and - if not - how to fix the issue.

      v5.1 / v5.0

      Before scheduling a range deletion task, a filtering metadata check (with eventual refresh) is performed to ensure the uuid is matching.
      Afterwards, when actually scheduling the range cleanup, the metadata are checked again without refresh and without any guarantee on collection changes.

      If - for some reason - the filtering metadata get cleared between the first and second check, the range deletion task ends up failing, leaving orphans on the node.

      v4.4
      The two checks are happening subsequently, but still metadata could be cleared in the very narrow interleaving between them.

            Assignee:
            pierlauro.sciarelli@mongodb.com Pierlauro Sciarelli
            Reporter:
            pierlauro.sciarelli@mongodb.com Pierlauro Sciarelli
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: