-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
-
None
-
3
-
TBD
-
None
-
None
-
None
-
None
-
None
-
None
Releasing memory from a cursor is a recursive traversal of the query plan via forceSpill method.
We should check for interrupts and yield between recursive calls to doForceSpill() methods during this traversal, similar to getNext() in agg pipeline stages.
This allows us to yield/interrupt releaseMemory command on a query with several memory-intensive stages like SORT + GROUP.
Yielding/interrupting inside a single doForceSpill() call is out of scope for this ticket