[SERVER-77313] Add new lock types RESOURCE_DDL_DATABASE and RESOURCE_DDL_COLLECTION Created: 19/May/23  Updated: 29/Oct/23  Resolved: 29/May/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.1.0-rc0

Type: Task Priority: Major - P3
Reporter: Silvia Surroca Assignee: Silvia Surroca
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-77421 New DDLLockManager implementation usi... Closed
is depended on by SERVER-77512 Get the namespace printed for the new... Closed
Backwards Compatibility: Fully Compatible
Sprint: Sharding EMEA 2023-05-29, Sharding EMEA 2023-06-12
Participants:

 Description   

Add new LockManager lock types RESOURCE_DDL_DATABASE and RESOURCE_DDL_COLLECTION to be used for the new DDLLockManager.

Neither of them will be related to the engine lock hierarchy (Global > Database > Collection). However, to avoid deadlocks, none of the engine hierarchy locks has to be held when a RESOURCE_DDL_* lock is being acquired.

The advantages of having the DDL locks managed by the LockManager are:

  • Enables a multi-granularity lock acquisition. This means that DDL locks could be taken in different modes: S, IS, X or IX.
  • Improves the DDL locking debuggability. The DDL locks will be integrated with the already existing LockManager debug utilities.
  • Code robustness. The LockManager is a relatively old and widely used service with up-and-going maintenance.


 Comments   
Comment by Githook User [ 29/May/23 ]

Author:

{'name': 'Silvia Surroca', 'email': 'silvia.surroca@mongodb.com', 'username': 'silviasuhu'}

Message: SERVER-77313 Add new lock types RESOURCE_DDL_DATABASE and RESOURCE_DDL_COLLECTION
Branch: master
https://github.com/mongodb/mongo/commit/0e6a660c41d4a07228837835f572daedd3683fc0

Generated at Thu Feb 08 06:35:08 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.