[SERVER-37564] remove deadlock detector for lock manager Created: 11/Oct/18 Updated: 29/Oct/23 Resolved: 16/Nov/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Concurrency |
| Affects Version/s: | None |
| Fix Version/s: | 4.1.6 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Geert Bosch | Assignee: | Geert Bosch |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Backwards Compatibility: | Fully Compatible |
| Sprint: | Storage NYC 2018-11-19 |
| Participants: |
| Description |
|
This is unused since the removal of MMAPv1. |
| Comments |
| Comment by Githook User [ 16/Nov/18 ] |
|
Author: {'name': 'Geert Bosch', 'email': 'geert@mongodb.com', 'username': 'GeertBosch'}Message: |
| Comment by Ian Whalen (Inactive) [ 12/Oct/18 ] |
|
sara.williamson can you please schedule time for Kal and Geert to discuss this? |
| Comment by Kaloian Manassiev [ 11/Oct/18 ] |
|
Yes, but with a small change to make it re-check its assumptions we could make it reliable. In sharding for improving the migration concurrency we were considering introducing a per-chunk lock. Not sure if this will materialise, but let's not remove it at least until we figure out that part. |
| Comment by Geert Bosch [ 11/Oct/18 ] |
|
Remember that the deadlock detector actually is not reliable? Because it doesn't look at the wait-for graph at a fixed point in time, but follows edges one at a time, it can find a deadlock where there in fact is none. As we only used this in a very specific use case for the MMAPv1 flusher, it was not an issue. I'm OK with leaving this dead code in a bit longer, but I don't think we should use it. In storage, we're working towards removing cases where we need (strong) locks that could create deadlocks. In particular, we don't want to use strong locks in (sharded) transactions. |
| Comment by Kaloian Manassiev [ 11/Oct/18 ] |
|
Is there any reason to remove it right now? I would like to keep it a little bit longer in case we need to actually use it for transactions or sharded transactions. |