-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Fully Compatible
The goal of this ticket is to convert DistLocks to simpler local-only in-memory locks.
- Remove all API related to distributed locking from the DistLockManager.
- Remove ReplicaSetDistLockManager.
- Remove DistLockCatalog.
- Delete TypeLocks and TypeLockpings basic type.
- Drop config.lockpings and config.lock collections when upgrading to FCV version > 6.0.
- Fix all the affected js/unit tests.
Rationale
DistLocks were used to serialized DDL operations in sharded cluster, in PM-1965 we made that all DDL operations are coordianted by the database primary shard. This means that we don't really need anymore the distributed guarantee of the distlocks since we can simply serialize all the DDL operations for a specific database on a single node.
There was another reson that prevented us to deprecate the distlocks until now. In the past the distlocks were used also to serialize DDL operations with chunk migrations. As of today all DDL operations that needs guarantees around data placement stability use another serialization mechanism based on setting/unsetting allowMigration flag in config.collections that became fully effective after SERVER-61759.
This means that starting from 6.0 the distributed guarantees of the distlocks are not required anymore and that all the associated code can be removed.
- causes
-
SERVER-70167 Resumed create coordinator may incorrectly try to release the critical section
- Closed
- depends on
-
SERVER-61759 Unsetting the AllowMigrations flag should abort ongoing migrations
- Closed
-
SERVER-68553 Add local DDL lock acquisition reason
- Closed
- is depended on by
-
SERVER-68551 Remove leftover code after distlocks deprecation
- Closed
-
SERVER-68592 Rename DistLockManager to DDLLockManager
- Closed
-
SERVER-68630 Review serialization mechanisms of clearJumboFlag command
- Closed
-
SERVER-68708 Stop acquiring dist locks for chunk migrations
- Closed
-
SERVER-69356 Stop locking config db in unittest fixtures
- Closed
- is related to
-
SERVER-57032 Acquire only local distLock for Sharding DDL coordinators
- Closed
- related to
-
SERVER-78895 Re-enable kill_aggregation.js and kill_rooted_or.js in FSM in stepdown suites
- Backlog