Handle deleted rollover index exclusions - #1319
Open
Pybsama wants to merge 1 commit into
Open
Conversation
myronmarston
requested changes
Jul 31, 2026
Always ignore unavailable indices in msearch headers, while preserving the configuration error unless every narrowed target is a previously known rollover index. Add real datastore and router coverage for partial, complete, empty-time, mixed-index, and genuinely unconfigured cases.
Pybsama
force-pushed
the
codex/allow-missing-search-indices
branch
from
August 28, 2026 17:50
bbdb940 to
247eef3
Compare
Author
|
Implemented the requested changes and resolved all four inline threads on the current single-commit head
Local verification on OpenSearch 3.6.0 passes the focused live-datastore suite and router specs. The identical patch on current Marking this ready for re-review. |
Pybsama
marked this pull request as ready for review
August 28, 2026 17:53
Pybsama
requested review from
BrianSigafoos-SQ,
bsorbo,
ellisandrews-toast,
jwils,
jwondrusch,
marcdaniels-toast and
rossroberts-toast
as code owners
August 28, 2026 17:53
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
ElasticGraph caches the concrete indices related to a rollover template. If
those indices are then deleted manually, a later search can still target a
cached concrete name or include it as an exclusion in its
_msearchindexexpression. OpenSearch rejects either request with
index_not_found_exception.What
ignore_unavailable: trueon_msearchmetadata headers. Unlikeallow_no_indices, this handles both a missing concrete target and a deletedconcrete name in an exclusion expression.
deleted from a genuinely unconfigured index. The router now requires every
narrowed target to be a rollover definition with known cached indices before
treating a zero-shard response as deleted-index state.
aggregation, and deleting every cached rollover index. Unit coverage retains
the configuration error for genuinely unconfigured rollover, non-rollover,
narrowed, and mixed-index searches.
Validation
focused Apollo/GraphQL live-datastore suite 53 examples, all passing.
main(matching stable patch ID):full repository suite 5,341 examples, 0 failures, with 100% line and branch
coverage; focused live-datastore suite 55 examples, 0 failures.
script/lint,script/type_check,script/spellcheck, schema artifact check,and
git diff --checkpass.is currently blocked by redirects/timeouts and changed anchors on existing
Apollo documentation URLs; no documentation links are changed by this PR.
Risk assessment
The change sends an officially supported
_msearchmetadata option on everysearch. The router still raises its existing configuration error unless all
narrowed targets have cached rollover state, so a cached rollover definition
cannot hide a genuinely unconfigured non-rollover or second rollover target.
Index-expression construction, request bodies, query grouping, and public APIs
are unchanged.
References
Closes #589.