Route collection-level change-stream updateLookup through the SBE executor

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • QE 2026-06-22, QE 2026-07-06
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Summary

      Switch the collection-level change-stream updateLookup path from the Express executor to
      SbeSingleDocumentLookupExecutor in change_stream_add_post_image_stage_fn.cpp. Database and
      cluster streams keep Express (their lookup namespace varies per event); both fall back to the routed
      Aggregation executor when the document is not local.

      Details

      • Executor selection keys on ChangeStream::getChangeStreamType(nss) == kCollection.
      • Only the collection-level SBE path buffers more than one event (gated on internalChangeStreamUpdateLookupMaxBatchSize, default 1); db/cluster and the unoptimized path stay batch-of-one.

      Depends on

      SERVER-129528.

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

              Created:
              Updated: