-
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
Fix Exception Handling for TransportShardBulkAction #41006
Fix Exception Handling for TransportShardBulkAction #41006
Conversation
* Prior to elastic#39793 exceptions for the primary write and delete actions were bubbled up to the caller so that closed shards would be handled accordingly upstream. elastic#39793 accidentally changed the behaviour here and simply marked those exceptions as bulk item failures on the request and kept processing bulk request items on closed shards. * This fix returns to that behaviour and adjusts the listeners passed in `TransportReplicationAction` such that they behave like the previous synchronous `catch`. * Dried up the exception handling slightly for that and inlined all the listeners to make the logic a little easier to follow * Reenable SplitIndexIT now that clsoed shards are properly handled again * Closes elastic#40944
Pinging @elastic/es-distributed |
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. Thanks @original-brownbear.
I hope we can keep "All exceptions should be handled by #executeBulkItemRequest" but I could not find a good way to achieve it.
thanks @dnhatn !
+1, let's see what the future brings :) |
* Prior to elastic#39793 exceptions for the primary write and delete actions were bubbled up to the caller so that closed shards would be handled accordingly upstream. elastic#39793 accidentally changed the behaviour here and simply marked those exceptions as bulk item failures on the request and kept processing bulk request items on closed shards. * This fix returns to that behaviour and adjusts the listeners passed in `TransportReplicationAction` such that they behave like the previous synchronous `catch`. * Dried up the exception handling slightly for that and inlined all the listeners to make the logic a little easier to follow * Reenable SplitIndexIT now that clsoed shards are properly handled again * Closes elastic#40944
Fixed by elastic#41006 Closes elastic#40948
were bubbled up to the caller so that closed shards would be handled accordingly upstream.
Make Transport Shard Bulk Action Async #39793 accidentally changed the behavior here and simply marked those exceptions as bulk item failures on the request and kept processing bulk request items on closed shards.
TransportReplicationAction
such that they behave like the previous synchronous
catch
.easier to follow
marked non-issue since this bug didn't go into any release yet