-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Internal Code
-
Fully Compatible
-
ALL
-
v4.9
-
Service Arch 2021-05-17
-
162
-
1
The FutureResolution mutex is marked level 0. So is the SessionCatalog mutex. This is a problem because while the SessionCatalog mutex is held, we call OperationContext::markKilled, which then resolves a future which requires acquiring the FutureResolution mutex. This is only a problem in tests since there's no actual risk for deadlock - it's just reported as a level violation by the latch analyzer.
To fix it we need to either make the SessionCatalog mutex level 1, or make the FutureResolution into a std::mutex with no leveling since it's such a low level component.
Acceptance criteria:
Remove the hierarchy number from the FutureResolution mutex
- related to
-
SERVER-76851 remove unnecessary latch predicate in index_commit_currentop_slow.js
- Closed