-
Type:
Improvement
-
Resolution: Gone away
-
Priority:
Major - P3
-
None
-
Affects Version/s: 3.7.3
-
Component/s: Storage
-
None
-
Storage Execution
-
None
-
3
-
None
-
None
-
None
-
None
-
None
-
None
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