[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: |
|
||||||||
| 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. |