$facet subpipeline validation needs to happen after any subpipeline view resolution

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Query Integration
    • 200
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      There is a subtle bug found in this test case, where $facet validation (is every stage allowed in $facet) is only performed on its subpipelines before the $unionWith goes through view resolution, so we miss when a $unionWith-on-a-view has a stage in the view definition that's not allowed in $facet. There are few stages that are not allowed in $facet ($vectorSearch being one of them), so the blast radius of the bug here is somewhat small.

      We should refactor $facet so that when LiteParsedFacet is being promoted to DocumentSourceFactor, the $facet subpipelines are also promoted from LiteParsedPipelines to Pipelines.

      We also need to make sure its subpipelines finish resolving themselves: specifically for BF-41470 where the $unionWith-in-a-$facet needs to resolve its view pipeline before going through $facet subpipeline validation.

            Assignee:
            Unassigned
            Reporter:
            Will Buerger
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: