Investigate changes in PM-2451: Implement Yielding Support for SBE

XMLWordPrintableJSON

    • Type: Investigation
    • Resolution: Done
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Not Needed

      Downstream Change Summary

      Planning to make changes to currentOp and serverStatus output. Design in progress.

      Description of Linked Ticket

      Epic Summary

      Summary

      Implement multi-collection locking and improve yielding support for SBE query engine (PM-2267).

      Motivation

      There is currently no support for safely and simultaneously locking multiple collections for a user read operation. The query SBE engine will need to do so for $lookup, and will also need support to safely yield and reacquire these locks across query yields.

      Cursor improvements to remain valid across query yield can also greatly simplify the query yield logic as well as make it more efficient. Dangling cursor pointers across a query yield are currently a danger if all the cursors are not found. It is also inefficient for each query yield to copy the cursor’s current key-value pair because the cursor becomes invalid to access during yield. These problems similarly apply to cursors across getMore commands, which very much behave like query yields.

      This project aligns with the query SBE engine’s initiative.

      Cast of Characters

      Documentation

      Scope Document
      Technical Design Document

            Assignee:
            Unassigned
            Reporter:
            Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: