-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Sharding
-
Fully Compatible
-
ALL
-
23
A migration holds a distributed lock on the migrating namespace for its duration, so in suites with background migrations, like multi_stmt_txn_jscore_passthrough_with_migration, sharding metadata commands that take the distributed lock can exhaust the 20 second acquisition timeout if a migration takes longer than 20 seconds or if it repeatedly fails to acquire the lock due to a lack of a fairness policy. Even if the commands use the in-memory NamespaceSerializer lock, they can still time out taking the distributed lock because migrations don't use the NamespaceSerializer.
Changing all config server commands that take distributed locks to use the NamespaceSerializer should avoid timeouts, or the distributed lock acquisition timeout can be raised in these suites.
- is related to
-
SERVER-35938 NamespaceSerializer lock should be used for database as well as collection during createCollection
- Closed
-
SERVER-36322 NamespaceSerializer lock should be used for dropCollection
- Closed
-
SERVER-47422 Use NamespaceSerializer when taking distributed locks for refineCollectionShardKey and migrations
- Closed