-
Type: Improvement
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Replication
-
Replication
-
5
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