In SERVER-10159/SERVER-12380, the update paths were modified to parse queries outside the write lock, when possible. This improves concurrency among writes, and between reads and writes, by minimizing time spent with data locks held.
The same optimization could be applied to the delete path in a straightforward way. See the implementation of the UpdateExecutor and its use in the BatchWriteExecutor for example.
- is related to
-
SERVER-12878 Aggregations that do not return cursors need to clean up internal cursors
- Closed