-
Notifications
You must be signed in to change notification settings - Fork 25.2k
Run coordinating can_match in field-caps #127734
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Hi @dnhatn, I've created a changelog YAML for you. |
nodeToShards.computeIfAbsent(shard.currentNodeId(), node -> new ArrayList<>()).add(shard); | ||
boolean canMatch = true; | ||
final ShardId shardId = shardIt.shardId(); | ||
if (indexFilter != null && indexFilter instanceof MatchAllQueryBuilder == false) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can use CanMatchPreFilterSearchPhase to avoid duplicates, but this approach is simpler.
Pinging @elastic/es-analytical-engine (Team:Analytics) |
Pinging @elastic/es-search-foundations (Team:Search Foundations) |
I discussed this with Nik via another channel. We should explore two alternative options to improve resilience due to shard unavailability:
That said, this PR should help avoid accessing the frozen tier entirely when it doesn't match the query's time range filter. |
💔 Backport failed
You can use sqren/backport to manually backport by running |
Currently, we don't run the coordinating can_match to skip unmatched shards in field-caps. Most of the time, this is fine, but the current field-caps fails when the target shards are unavailable, even if they don't match the index filter. This change integrates the coordinating can_match into field-caps to prevent failures in such cases.
Currently, we don't run the coordinating can_match to skip unmatched shards in field-caps. Most of the time, this is fine, but the current field-caps fails when the target shards are unavailable, even if they don't match the index filter. This change integrates the coordinating can_match into field-caps to prevent failures in such cases.