Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a
maxRetries
option that limits the amount of times a request will be attempted before the request is dropped. When set to the default value of -1, batches will be retried indefinitely which matches the current behaviour.This provides a simple means to drop failed messages after a configurable number of attempts when such behaviour is desired, which is currently not very easy to implement.
This also addresses an issue with Flink Statefun where a pipeline will get stuck if a remote function fails deterministically and the issue cannot be caught inside the handler. Normally, such issues can and should be caught inside the handler code, but this is not possible if the server deterministically crashes, e.g. with
log.Fatalw
in golang. Setting a maxRetries limit prevents such behaviour from blocking pipelines indefinitely.