GlobalLock can potentially release the snapshot involuntarily

XMLWordPrintableJSON

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

      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
              Reporter:
              Jordi Olivares Provencio
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: