-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Testing Infrastructure
-
Server Tooling & Methods
Consider the following lock wait scenario:
- Thread T1 has acquired a database lock with MODE_IX
- Thread T2 requests the same lock with MODE_X
- Thread T3 requests the same lock with MODE_IX
The mongo_lock.py graph will have a line from both T2 and T3 to the database lock, indicating that both are waiting on the same lock. What is missing from this picture is that T1 is really waiting behind T2 in the lock acquisition queue and could otherwise acquire the lock if the T2 acquisition were interrupted.
What may be a clearer representation would be a chart that showed T2 waiting on lock acquisition and T1 waiting on T2.