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

Make a deep copy of RuntimeEnvironment for SBE plans to cache

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 5.3.0
    • None
    • None
    • None
    • Fully Compatible
    • QO 2022-01-10, QO 2022-01-24

    Description

      Currently when we copy a sbe::RuntimeEnvironment we only copy the Accessors but the State(including the slots, the type and the state of the slots) is shared among copies. This might cause problems when a real copy of RuntimeEnvironment is needed for Plan caching. 

       

      Imagine a case where some data in the RuntimeEnvironment should not be stored in the SBE plan cache, we would need to strip it out from the RuntimeEnvironment before caching the plan, which could affect the plan being executed. Note that the cached plan and the plan to execute share all the slots in RuntimeEnvironment.

      Attachments

        Activity

          People

            ruoxin.xu@mongodb.com Ruoxin Xu
            ruoxin.xu@mongodb.com Ruoxin Xu
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: