|
Since SERVER-32638, global and database locks can be interrupted when an OperationContext is killed. This causes any LOCK_WAITING operation to throw an AssertionException with an Interrupted error code. This includes all AutoGet helpers for databases and collection.
The following places in the storage code have temporary UninterruptibleLockGuard s to prevent crashing due to inadequate exception handling:
src/mongo/db/catalog/drop_database.cpp:120
src/mongo/db/catalog/drop_database.cpp:201
src/mongo/db/catalog/drop_database.cpp:252
src/mongo/db/repl/storage_interface_impl.cpp:401
src/mongo/db/repl/storage_interface_impl.cpp:424
src/mongo/db/transaction_reaper.cpp:158
|