-
Notifications
You must be signed in to change notification settings - Fork 25.2k
Avoid forking in AbstractSearchAsyncAction #71580
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
Pinging @elastic/es-search (Team:Search) |
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.
LGTM, should also remove the fork in
elasticsearch/server/src/main/java/org/elasticsearch/action/search/AbstractSearchAsyncAction.java
Line 301 in 5baabff
fork(() -> onShardFailure(shardIndex, shard, shardIt, e)); |
executeNext
will fork if needed ?
@jimczi I think it's not entirely safe to remove I think we should fork only after several executions instead of a single execution (the current behavior). I will look into it in a follow-up. |
Right, I read too quickly and thought that executeNext would handle the retry on another replica. Let's leave it for a follow up. Thanks |
Thanks Jim! |
We don't need to fork when handling unassigned shard failures in AbstractSearchAsyncAction as we never call it recursively. Relates #70792
We don't need to fork when handling unassigned shard failures in AbstractSearchAsyncAction as we never call it recursively. Relates #70792
We don't need to fork when handling unassigned shard failures in AbstractSearchAsyncAction as we never call it recursively.
Relates #70792