[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: SERVER-37564 Remove unused deadlock detector
Branch: master
https://github.com/mongodb/mongo/commit/26ef13f278e4d19319f11e4738e7bb0001a62d93

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.

Generated at Thu Feb 08 04:46:21 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.