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

Rewrite AsyncTry-until to not use future recursion

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.9.0
    • Component/s: Internal Code
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Sprint:
      Service Arch 2021-02-22

      Description

      Due to SERVER-53500, using the AsyncTry-until utility can lead to an invariant being hit in unpredictable places. Since SERVER-53500 will be difficult to diagnose and potentially unfeasible to fix, so in the meantime we can rewrite the AsyncTry utility to not use recursive futures, which are responsible for hitting the invariant. I've done a POC and confirmed this fixes the issues seen by SERVER-50656 on debug builds.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              matthew.saltz Matthew Saltz
              Reporter:
              matthew.saltz Matthew Saltz
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: