The AsyncRequestsSender uses Notification::get(OperationContext*), but does not handle exceptions.
Notification::get(OperationContext*) calls OperationContext::waitForConditionOrInterrupt(), which uasserts on the return value of OperationContext::waitForConditionOrInterruptNoAssert().
This uassert generates an exception.
Since it's uncertain whether every path that will use AsyncRequestsSender is exception-safe, the AsyncRequestsSender should try/catch around its use of Notification::get(OperationContext*) and convert the thrown exception back into a status.
Eventually, we may choose to make every path exception-safe.
- is depended on by
-
SERVER-27937 pull apart the AsyncResultsMerger logic into (1) establishing the cursors (2) sending the getMore's
- Closed