Details
-
Task
-
Resolution: Duplicate
-
Major - P3
-
None
-
None
-
None
-
Execution Team 2021-12-13
-
0
Description
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) {} |
Attachments
Issue Links
- is related to
-
SERVER-31070 make dbCheck a test command
-
- Closed
-
-
SERVER-61748 dbCheck should not hold a strong database lock during batches
-
- Closed
-