[SERVER-20218] Detect inconsistent lock ordering Created: 31/Aug/15  Updated: 06/Dec/22  Resolved: 15/Apr/19

Status: Closed
Project: Core Server
Component/s: Concurrency
Affects Version/s: 3.1.7
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Geert Bosch Assignee: Backlog - Storage Execution Team
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-18410 Remove RWLock Closed
Assigned Teams:
Storage Execution
Sprint: QuInt B (11/02/15)
Participants:

 Description   

In order to avoid potential deadlocks, we require consistent ordering of lock acquisition/release. Currently there are no checks for these, and it is easy to accidentally introduce incorrect orderings. Moreover, there is a possibility that some of these can be extremely rare, potentially leading to deadlock.

By checking lock ordering in debug builds, we can reduce the likelihood of such problems.



 Comments   
Comment by Geert Bosch [ 25/Jul/16 ]

One of the problems with an off-the-shelf tool such as Coverity is that we cannot detect ordering issues with taking LockManger managed locks.

Generated at Thu Feb 08 03:53:33 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.