-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: 6.0 Desired
-
Component/s: Internal Code
-
Service Arch
-
Fully Compatible
-
Service Arch 2022-03-21, Service Arch 2023-11-13, Service Arch 2023-11-27, Service Arch 2023-12-11, Service Arch 2023-12-25
Adding a timer/session to a BatonASIO while it is polling translates to a task scheduled on the baton. The task will add the timer/session to the baton once it's done polling.
This behavior has an unwanted consequence: if we attempt to cancel the timer/session before the scheduled task is processed, we cannot find the timer/session on the baton. The current implementation of BatonASIO misinterprets that for an already canceled timer/session and simply returns from cancelTimer and cancelSession.
The expected outcome for this ticket is to fix this behavior so that timers/sessions added to BatonASIO while it is polling are also cancelable.
—
There are two unit-tests the exercise the conditions described in this ticket:
- split from
-
SERVER-61192 Session cancellation should interrupt blocking I/O
- Closed