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

Audit NetworkInterfaceTL for calls to exception-throwing fns in getAsync continuations

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Fully Compatible
    • ALL
    • Service Arch 2022-1-24, Service Arch 2022-2-07, Service Arch 2022-2-21, Service Arch 2022-03-07
    • 4

      In SERVER-49435, we observed an instance of an exception-throwing function being called from a getAsync continuation. getAsync continuations are effectively noexcept (there is no "correct" context in which to handle an async-exception, so the process is terminated).

      Because that ticket was causing a hot BF, we elected to simply fix the issue minimally by converting the relevant exception to a status within the function called in getAsync. But we already have found at least one other instance of this problem that has not yet been caught in tests: the call to continueExhaustRequest in a getAsync here may throw via its call to setTimer.

      As much of the code in this class is run in getAsync continuations, and we have already encountered this twice, we should
      1) Fix the issue described in the last paragraph
      2) Audit all the getAsync continuations in this file to make sure they don't call into functions that may throw.

            Assignee:
            daniel.morilha@mongodb.com Daniel Morilha (Inactive)
            Reporter:
            george.wangensteen@mongodb.com George Wangensteen
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: