Sequence of events:
- SyncTransactionWithRetries::runNoThrow gets called
- Waits for the transaction callback to finish here, but opCtx was cancelled so proceed to call cancel on the cancellation token
- If the transaction hasn't finished, it will try to abort it. But since it is using the client's runCommand to run abort, it will fail because it will try to use the token that was already cancelled to create the new opCtx for the abort command
- Transaction that was started at the beginning is just left in idle state.