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

GlobalLock can potentially release the snapshot involuntarily

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.1.0-rc0
    • Affects Version/s: 8.0.0-rc0
    • Component/s: None
    • None
    • Catalog and Routing
    • Fully Compatible
    • ALL
    • v8.0
    • CAR Team 2024-08-19

      As part of SERVER-90992 we discovered a bug in the GlobalLock implementation that can result in reading a potentially invalid reference to a collection. The bug is as follows:

      • Perform an acquisition on a collection A. Call it acqA.
      • Perform an acquisition on a collection B. Call it acqB.
      • Now make acqA go out of scope.

      This will result in abandoning the WT snapshot used because the GlobalLock used in acqA believes it is the outermost one for the global lock. This will result in acqB holding a potentially dangling reference to its collection if we're in a lock-free read since it will destroy the stashed catalog.

            Assignee:
            jordi.olivares-provencio@mongodb.com Jordi Olivares Provencio
            Reporter:
            jordi.olivares-provencio@mongodb.com Jordi Olivares Provencio
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: