-
Type:
Improvement
-
Resolution: Duplicate
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Replication
-
Replication
-
5
-
None
-
None
-
None
-
None
-
None
-
None
-
None
It seems when the node persists new config in collection "local.system.replset", it takes "local" database lock in stronger mode (X) and PBWM lock in IS mode. This can lead to 2 major side effects.
1) Since PBWM lock is taken in IS mode, this can block the secondary oplog applier which requires PBWM in X mode. This can result in replication lag. This will be addressed by SERVER-48398
2) Since it takes "local" database lock in X mode, this can block other local database readers and writers.
- Mainly, if this node X is the sync source for node Y, then the oplog fetcher of the node Y can be blocked behind the the reconfig via heartbeat thread due to database lock conflict, leading to replication lag.
- duplicates
-
SERVER-72897 Investigate unorthodox locking in ReplicationCoordinatorExternalState
-
- Closed
-
- related to
-
SERVER-50519 resumable index build hangs waiting for majority commit point in replica_sets_kill_secondaries_jscore_passthrough
-
- Closed
-
-
SERVER-38341 Remove Parallel Batch Writer Mutex
-
- Closed
-
-
SERVER-42055 Only acquire a collection IX lock to write the lastVote document
-
- Closed
-
-
SERVER-48398 Writing config document to "local.system.replset" should not acquire PBWM lock.
-
- Closed
-