Implement AggregationSingleDocumentLookupExecutor (routed fallback)

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • Fully Compatible
    • QE 2026-06-22
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Summary

      Implement the universal fallback executor: the existing routed lookup mechanism (a routed match on the documentKey via MongoProcessInterface::lookupSingleDocument) wrapped behind the SingleDocumentLookupExecutor interface. This is the correctness floor every fast path can decline to.

      Scope

      • AggregationSingleDocumentLookupExecutor in src/mongo/db/exec/agg/single_doc_lookup/aggregation_single_document_lookup_executor.h / .cpp.
      • Yields all locks before routing (the single lock-free routing site).
      • Builds a majority readConcern with afterClusterTime only when routing, and none when afterClusterTime is absent.
      • Always returns kHandledFound or kHandledNotFound, never kNotHandled, so a PrimaryWithFallback chain always resolves.

      Acceptance criteria

      • Unit tests for found / not-found outcomes and readConcern construction (present iff afterClusterTime is present).
      • Depends on the SingleDocumentLookupExecutor interface ticket (SERVER-128408).

            Assignee:
            Denis Grebennicov
            Reporter:
            Denis Grebennicov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: