-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
v4.2
-
Service Arch 2019-10-21, Service Arch 2019-11-04, Service Arch 2019-11-18, Service Arch 2019-12-02, Service Arch 2019-12-16, Service Arch 2019-12-30
-
0
Ideally, we would like to serialize Hierarchical Acquisition violations in a way that allows us to investigate and reproduce the violation. To that end, we want to know the Latch name and the ordering of violations. I propose the following opt-in section in serverStatus:
{ ..., "latchAnalysis": { "hierarchicalAcquitionViolations": { "<latchNameHere>": { "onAcquire": 2, "onRelease": 1 } } } }
The top level "latchAnalysis" allows us to expand this segment with future statistics. The separation of "onAcquire" and "onRelease" into separate monotonically increasing counters will allow us to consider them as a pair to determine the period in which a potential deadlock happened as well as the total violations. This scheme deliberately leaves out the client name.
- related to
-
SERVER-45691 Change Mutex::LockListeners to use a std::vector again
- Closed
-
SERVER-45168 Create add-only syncronized list type
- Closed
-
SERVER-45027 Use more descriptive names for MONGO_MAKE_LATCH() invocations
- Closed