-
Notifications
You must be signed in to change notification settings - Fork 24.9k
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
Harden field-caps request dispatcher #108736
Conversation
Pinging @elastic/es-search (Team:Search) |
Hi @dnhatn, I've created a changelog YAML for you. |
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.
Makes sense. And you can group the same exceptions together.
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.
I'm a little hesitant to let exceptions bubble up after we resolve the completion callback, see my inline comment. WDYT? This seems like it will make reasoning about where what exception is handled very complicated?
assert removed != null; | ||
onIndexFailure.accept(failedIndex, e); | ||
} | ||
} finally { |
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.
Wouldn't it make more sense to quietly record the individual index failure (so essentially catch/suppress inside the loop) instead of propagating a somewhat expected exception further?
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.
@nik9000 @original-brownbear Thanks for reviewing. |
ExceptionHelper#useAndSuppress can throw exceptions if both input exceptions having the same root cause. If this happens, the field-caps request dispatcher might fail to notify the completion to the caller. I found this while running ES|QL with disruptions. Relates elastic#107347
💚 Backport successful
|
ExceptionHelper#useAndSuppress can throw exceptions if both input exceptions having the same root cause. If this happens, the field-caps request dispatcher might fail to notify the completion to the caller. I found this while running ES|QL with disruptions. Relates #107347
ExceptionHelper#useAndSuppress
can throw exceptions if both input exceptions having the same root cause. If this happens, the field-caps request dispatcher might fail to notify the completion to the caller. I found this while running ES|QL with disruptions.Relates #107347