When the transaction API was made to use an InlineExecutor, this inadvertently broke how cancelation works for it. Previously, the transaction ran on a separate thread from the caller's, so the caller would stop waiting on interrupt, cancel the transaction, then return the error code it was interrupted with. Now the transaction runs on the caller's thread, so it won't stop waiting on interruption, and the API doesn't think to check for the caller's opCtx being interrupted, so it will ignore the interruption. Instead, the API should respect the caller being interrupted even when using a single thread via the InlineExecutor.
- related to
-
SERVER-75676 Complete TODO listed in SERVER-75553
- Closed