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

Consider refactoring SBE PlanStage yield preparation & recovery logic

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: None
    • Labels:
      None
    • Sprint:
      Execution Team 2021-11-29

      Description

      Currently, all SBE PlanStages inherit from the "CanChangeState" CRTP class, providing saveState() and restoreState() methods.

      Once the logic for making copies of unowned data and disabling slot access has been removed, only nodes which access storage resources will need non-trivial implementations of saveState() and restoreState(), in order to check if the collection has been dropped during a yield, for example.

      This gives an opportunity to refactor the saveState() and restoreState() mechanism. For example, we may want to only provide these methods on nodes which access storage resources, and remove the recursive walk of the execution tree.

        Attachments

          Activity

            People

            Assignee:
            backlog-server-execution Backlog - Storage Execution Team
            Reporter:
            ian.boros Ian Boros
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated: