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

Ensure timers/sessions added to `BatonASIO` are cancelable

    XMLWordPrintable

Details

    • Bug
    • Status: Open
    • Major - P3
    • Resolution: Unresolved
    • 6.0 Desired
    • None
    • Internal Code
    • None
    • ALL
    • Hide

      There are two unit-tests the exercise the conditions described in this ticket:

      Show
      There are two unit-tests the exercise the conditions described in this ticket: AddAndRemoveSessionWhileInPoll AddAndRemoveTimerWhileInPoll
    • Service Arch 2022-03-21

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              backlog-server-servicearch Backlog - Service Architecture
              amirsaman.memaripour@mongodb.com Amirsaman Memaripour
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: