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

mmap b-tree removals may cause index readers or writers to return invalid data

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical - P2
    • Resolution: Fixed
    • Affects Version/s: 3.0.14, 3.2.12, 3.4.3
    • Fix Version/s: 3.0.15, 3.2.13, 3.4.4, 3.5.6
    • Component/s: MMAPv1, Storage
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v3.4, v3.2, v3.0
    • Sprint:
      Storage 2017-04-17
    • Case:

      Description

      When an index reader or writer calls restoreState(), the code attempts to find the element it was looking at before it saved state. If that element is no longer in the tree, it may end up pointing instead to an element flagged as unused. This is a normal situation, but in this case the code fails to skip over unused elements, and can instead return a DiskLoc that does not point to a valid data record. This can cause a server crash, or, very unlikely, to return an incorrect record.

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: