Extension $vectorSearch in $lookup subpipeline: IFR kickback surfaces to client instead of retrying legacy

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc1
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Integration
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      The with_mongot_extension_* suites run with featureFlagExtensionsInsideHybridSearch OFF. When a pipeline puts $vectorSearch inside a $lookup/$graphLookup subpipeline, $vectorSearch resolves to the extension stage, which is not supported in a $lookup and emits an IFRFlagRetry kickback. With the flag off, the kickback should transparently retry the pipeline with the legacy $vectorSearch (which supports $lookup subpipelines, per SERVER-88602). Instead the kickback error surfaces to the client, and the retry path ends in error 51047 ("$vectorSearch is not allowed within a $lookup's sub-pipeline").

      This is the same failure mode as SERVER-130918 but for the $lookup/subpipeline case, still reproducing after the mongot-extension v2.0.2 bump. The v2.0.2 metadata fix resolved the crash previously tracked under SERVER-130913 (tripwire tassert 12197200 is gone), but these tests still cannot pass with the flag off.

      As part of SERVER-131001 these tests are re-excluded from the with_mongot_extension_* suites pending this fix:
      - jstests/with_mongot/e2e/vector_search/lookup_vector_search.js
      - jstests/with_mongot/e2e/vector_search/lookup_vector_search_disallowed.js
      - jstests/with_mongot/e2e/views/vector_search/lookup_identity_and_combined.js
      - jstests/with_mongot/e2e/views/vector_search/lookup_nested_view.js
      - jstests/with_mongot/e2e/views/vector_search/lookup_subpipeline_combinations.js
      - jstests/with_mongot/e2e/views/vector_search/lookup_vector_search_view.js
      - jstests/with_mongot/e2e/views/mongot_stage_in_view_definition_graph_lookup.js
      - jstests/with_mongot/e2e/hybridSearch/rank_fusion_lookup_local_foreign_field_view.js

      Verified locally: lookup_vector_search.js fails 4/4 subtests with code 51047, no crash, fixture setup/teardown clean.

            Assignee:
            Finley Lau
            Reporter:
            Will Buerger
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: