Details
-
Improvement
-
Resolution: Unresolved
-
Major - P3
-
None
-
None
-
None
-
Query Execution
-
Fully Compatible
-
Quint Iteration 7
Description
Locking behavior for getMore on an aggregation cursor is special. In particular, MODE_IS database and collection locks are only acquired in order to unpin the ClientCursor.
The implementation of this is currently not exception safe: currently, if an exception is thrown during the execution of the query, the ClientCursor will be unpinned out of the locks (see TODO in the code).