-
Notifications
You must be signed in to change notification settings - Fork 154
Feature request: allow SqsFifoPartialProcessor
to continue processing other group IDs upon failure
#2561
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
Comments
@dreamorosi , thanks for the nicely detailed instructions. I would like to take a look at this issue. |
Hi @arnabrahman, sounds good! If you have any questions please let me know 😊 |
I didn't link it in the issue, but if it helps you can also take a look at the implementation of this feature in the Python version which is in this file here. |
This issue is now closed. Please be mindful that future comments are hard for our team to see. If you need more assistance, please either tag a team member or open a new issue that references this one. If you wish to keep having a conversation with other community members under this issue feel free to do so. |
This is now released under v2.2.0 version! |
Use case
Currently the
SqsFifoPartialProcessor
part of the Batch Processing utility short-circuits by throwing an error as soon as an item in a batch fails to process. This is done to prevent out-of-order processing.By default, we will stop processing at the first failure and mark unprocessed messages as failed to preserve ordering. However, this behavior may not be optimal for customers who wish to proceed with processing messages from a different group ID.
We should look into adding this feature.
Solution/User Experience
Customers should be able to pass a
skipGroupOnError
optionThis could be done by either accepting an option object when instantiating the processor, like:
Or by accepting a new option in the already existing option object accepted by the
processPartialResponseSync
function, like:The second one is probably more organic and allows customers additional customizability as they can define the value for
skipGroupOnError
in the context of a specific invocation, however it will likely require some TypeScript generic type so that it's accepted only when theprocessor
parameter is of typeSqsFifoPartialProcessor
.Either way, the value for
skipGroupOnError
should be saved in theSqsFifoPartialProcessor
instance and then taken in account when calling theshortCircuitProcessing
method to decide whether to throw or not.Alternative solutions
Acknowledgment
Future readers
Please react with 👍 and your use case to help us understand customer demand.
The text was updated successfully, but these errors were encountered: