IFR kickback does not fall back to legacy $vectorSearch for hybrid search pipelines when the extension is loaded

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc1
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Integration
    • Fully Compatible
    • ALL
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      In the with_mongot_extension_* suites (SERVER-130648), the mongot-extension provides $vectorSearch and featureFlagExtensionsInsideHybridSearch is off. $rankFusion/$scoreFusion pipelines containing $vectorSearch should be rescued by the IFR kickback: LiteParsedRankFusion calls search_helpers::throwIfrKickbackIfNecessary, which throws IFRFlagRetryInfo(featureFlagVectorSearchExtension) so runAggregate's retry loop re-runs the command with the flag disabled per-operation, using the legacy $vectorSearch.

      Empirically the kickback does not rescue these commands:
      - The kickback error surfaces to the client: commands fail with '$vectorSearch-as-an-extension is not allowed in a $rankFusion pipeline.' (suggesting the throwing lite-parse happens outside the retry scope on some path, or a router-side path lacks the retry loop).
      - In other runs, commands fail post-retry with the legacy-side validation '$rankFusion input pipelines must not contain $vectorSearch because it modifies or transforms the input documents', as if the retried parse still carries extension stage properties.

      ~16 hybridSearch tests are excluded in buildscripts/resmokeconfig/matrix_suites/overrides/with_mongot_extension.yml because of this; grep this ticket number to find them. They should be re-enabled when the kickback works -- independently of, and before, enabling featureFlagExtensionsInsideHybridSearch (SERVER-130878).

      Repro: buildscripts/resmoke.py run --suites=with_mongot_extension_single_node --force-excluded-tests jstests/with_mongot/e2e/hybridSearch/ranked_fusion_test.js

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

              Created:
              Updated:
              Resolved: