-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
Sharding EMEA 2023-05-29, Sharding EMEA 2023-06-12
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.
- is depended on by
-
SERVER-77421 New DDLLockManager implementation using LockManager
- Closed
-
SERVER-77512 Get the namespace printed for the new DDL lock types to improve diagnosticability
- Closed