-
Type: Bug
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Catalog and Routing
-
ALL
-
CAR Team 2024-08-05, CAR Team 2024-08-19, CAR Team 2024-09-02, CAR Team 2024-09-16, CAR Team 2024-09-30
Closing a storage engine snapshot via abandonSnapshot() and WriteUnitOfWork::commit() invalidates the CollectionCatalog snapshot held by callers. There are no preventative measures to ensure that callers do not continue using a potentially invalid catalog snapshot, and this is dangerous.
This causes memory errors and segfaults like this one: SERVER-81331.
This is also likely a problem just for Lock-free-reads operations
- related to
-
SERVER-93509 GlobalLock can potentially release the snapshot involuntarily
- Closed
-
SERVER-94613 Find on collections with a multikey wildcard index can lead to use-after-free
- Needs Scheduling
-
SERVER-94787 Avoid abandoning the snapshot explicitly in CollectionScan
- Needs Scheduling
- split to
-
SERVER-94616 Add Absl::InlinedVector GDB pretty printer
- Needs Scheduling