Provide consistent cancellation path in NetworkInterfaceTL

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Networking & Observability
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Cancellation of a request issued by NetworkInterfaceTL can happen in one of two ways:

      • The timer associated with the request's deadline (often derived from the opCtx's maxTimeMS) is fired, which invokes CommandStateBase::cancel
      • The CancellationToken provided to startCommand is signaled, and cancellation is propagated via tokens to whatever async operation is currently taking place.

      These two paths produce slightly different diagnostic behavior, since the former constructs an informative error message whereas the latter does not.

      We should update the CancellationToken path to intercept the signal and then call CommandStateBase::cancel, rather than bypassing it.

            Assignee:
            Unassigned
            Reporter:
            Patrick Freed
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: