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

[CQF] Non-deterministic projection names generated in physical optimizer test breaking golden test

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 7.1.0-rc0
    • None
    • None
    • None
    • Fully Compatible
    • ALL
    • QO 2023-08-21, QO 2023-09-04
    • 163

    Description

      The combination of SERVER-78507 and SERVER-78508 results in the RIDIntersect implementor creating two alternatives when optimizing with RemoveOrphansRequirement: (1) delegate RemoveOrphansRequirement to the left child and (2) delegate it to the right child (MemoLogicalDelegator). These rewrites are added to the queue with the same priority and thus removed from the queue in an non-deterministic order.

      After SERVER-78507, we are able to optimize SargableNodes with complete/seek requirements + RemoveOrphanRequirement, which means that we attempt to generate alternatives which generates projection names. Depending on the order the alternatives are considered, the projection names we generate will be different.

      This goal of this ticket is to refactor the affected tests to only assert on the relevant parts of the plan, to be robust to this non-determinism.

      Attachments

        Activity

          People

            ben.shteinfeld@mongodb.com Ben Shteinfeld
            ben.shteinfeld@mongodb.com Ben Shteinfeld
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: