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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical - P2
    • Resolution: Fixed
    • 3.0.14, 3.2.12, 3.4.3
    • 3.0.15, 3.2.13, 3.4.4, 3.5.6
    • MMAPv1, Storage
    • None
    • Fully Compatible
    • ALL
    • v3.4, v3.2, v3.0
    • Storage 2017-04-17
    • 0

    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

            milkie@mongodb.com Eric Milkie
            milkie@mongodb.com Eric Milkie
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: