Repository navigation
Fixes #35317: check hybrid search with a query, not the stored pipeline (backport 2.0 #35321) - #35325
Conversation
Code Review ✅ Approved🟡 Medium risk · The health check now executes a hybrid query instead of checking pipeline presence, so permission or query errors could incorrectly mark semantic search unavailable. Health check for semantic search now sends a minimal hybrid query with the RRF pipeline inline to the deployment's own chunk index, instead of reading the stored VerificationRules No rules evaluated Functional validation Not enabledAuto-approval Not enabledOptionsDisplay: compact → Counting what did not apply, without listing it. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source |
Issue
Cherry-pick of PR #35321 (Fixes #35317)
Shared free-tier clusters run 2.0.x, so this backport is what makes the Semantic search health check stop reporting a false "Forbidden access" failure for them. It ships in 2.0.6.
What this PR changes
The same change as on main: the health check sends a minimal hybrid query with the RRF pipeline inline to the deployment's own chunk index, instead of reading the stored
hybrid-rrfpipeline that a prefix-scoped search role is not allowed to read. See PR #35321 for the full explanation.The cherry-pick had one conflict, in the imports of
OpenSearchVectorServiceTest:2.0does not have main's context-memory tests, so their imports were dropped and the two Jackson imports the new tests need were added. Every other file applies main's change line for line.How it was tested
On this branch:
OpenSearchVectorServiceTest,SearchRepositoryBehaviorTest,SystemRepositoryEmbeddingsValidationTestandReindexingOrchestratorTest(170 tests), plusVectorEmbeddingIntegrationITagainst OpenSearch 3.4.0 (10 tests), all passing.