ExportXMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      During implementation and code review of SERVER-133148, we identified an opportunity to clean up this area of the code which has proven bug-prone in the past.

      The core idea is to refactor AsyncResultsMerger's per-remote retry bookkeeping from ad-hoc flags (outstandingRequest + callback handle + retry-strategy internals) into an explicit per-remote lifecycle state machine (e.g. Undispatched -> Dispatched -> ResultsBuffered -> Exhausted), with a HitRetryableError state carrying an explicit retryNotBefore backoff deadline.

      This should improve the code legibility here, and reduce the risk of future latent bugs by doing so.

      Full details

        1. SERVER-133148_followup_ticket.md
          5 kB
          Charlie Swanson
        2. SERVER-133148_pr61294_design_notes.md
          9 kB
          Charlie Swanson

            Assignee:
            Charlie Swanson
            Reporter:
            Charlie Swanson
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: