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

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Critical - P2 Critical - P2
    • 3.0.15, 3.2.13, 3.4.4, 3.5.6
    • Affects Version/s: 3.0.14, 3.2.12, 3.4.3
    • Component/s: MMAPv1, Storage
    • Labels:
    • Fully Compatible
    • ALL
    • v3.4, v3.2, v3.0
    • Storage 2017-04-17
    • 0

      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.

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