Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-64174

Ensure timers/sessions added to `BatonASIO` are cancelable

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.3.0-rc0
    • 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:

            Assignee:
            ryan.berryhill@mongodb.com Ryan Berryhill
            Reporter:
            amirsaman.memaripour@mongodb.com Amirsaman Memaripour
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: