-
Type: Task
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Storage
-
None
-
Execution Team 2021-12-13
-
0
The AutoGetDbForDbCheck RAII class first attempts to acquire a lock on the "local" database in MODE_IX and then attempts to acquire a lock on the database to check in MODE_S. This is incompatible with the lock ordering that other database operations use when calling repl::logOp() because other threads will first attempt to acquire a lock on the database and then attempt to acquire a lock on the "local" database.
AutoGetDbForDbCheck::AutoGetDbForDbCheck(OperationContext* opCtx, const NamespaceString& nss) : localLock(opCtx, "local"_sd, MODE_IX), agd(opCtx, nss.db(), MODE_S) {}
- is related to
-
SERVER-31070 make dbCheck a test command
- Closed
-
SERVER-61748 dbCheck should not hold a strong database lock during batches
- Closed