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

Block and drain connection sends in NetworkInterfaceTL::shutdown()

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Service Arch
    • ALL
    • 200

      More work on handling GuaranteedExecutor contexts when shutting down NetworkInterfaceTL. Previous work blocks shutdown until they've all executed, and uses an existing cancel mechanism for the top-level CommandState/ExhaustCommandState promise/future pairs.

      What remains is a need to cancel the chain of futures hung off the future returned from AsycDBClient::runCommandRequest(). The good news here is that we can return a network error, due to an onError() added in RequestState::resolve() prior to scheduling the remaining work on a GuaranteedExecutor. We just need to be able to guarantee we're not adding new work to the connection pool as we try to drain it.

            Assignee:
            ronald.steinke@mongodb.com Ronald Steinke
            Reporter:
            ronald.steinke@mongodb.com Ronald Steinke
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: