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

ARS shouldn't return while targeting is outstanding

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.1.4
    • Component/s: Internal Code
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Sprint:
      Service Arch 2018-10-08
    • Linked BF Score:
      0

      Description

      As part of SERVER-35689, Replica set targeting was made async (but with blocking in the ARS). But when we block on the returned future, we do so via an opctx which isn't marked uninterruptible (https://github.com/mongodb/mongo/commit/a276b7b1d0cc1d8d1e35bc0a222d2b2cce64bf43#diff-00d70c3e68a7ef394d6fccee5532e7e7R300) this means that opctx killing, or timing out, during scheduling leaves dangling references to the ARS and the baton in the ARS destructor. This in turn causes the invariant inside the baton to trigger.

      I believe that the fix for now should involve making that an uninterruptible wait

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jason.carey Jason Carey
              Reporter:
              jason.carey Jason Carey
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: