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

Makes plans produced by Cascades optimizer yield

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Optimization
    • Minor Change
    • QO 2023-07-10, QO 2023-07-24, QO 2023-08-07

      I noticed that the code which lowers an ABT to an SBE plan in the common query framework code path doesn't correctly set up the SBE plan to yield. For yielding to happen correctly, the scan and ixscan leaf nodes need to have access to the PlanYieldPolicySBE object. This object is responsible for tracking the duration since the last yield, and triggering another yield if necessary. The ABT lowering code does set up a PlanYieldPolicySBE object here, but it doesn't ensure that the scan stages which can actually trigger a yield have access to it.

      Fixing this will be required before we ship the optimizer, though I believe it will only affect performance characteristics, not correctness. So the work can be deferred. I imagine that this should be scheduled as part of the "SBE Lowering" project.

            Assignee:
            matt.olma@mongodb.com Matt Olma
            Reporter:
            david.storch@mongodb.com David Storch
            Votes:
            0 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated:
              Resolved: