-
Notifications
You must be signed in to change notification settings - Fork 75
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
Retry send only for retriable exceptions #194
Conversation
66598e6
to
8d25cde
Compare
CI failure looks like a flake |
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.
@praseodym Thanks for the contribution.
On the whole, I like the change - there is no reason to continue to retry sending messages that will never successfully be sent, but I do have some concerns that we are changing the default behavior to drop events over what could be a misconfiguration/miscalculation of max_request_size
, for example, but without DLQ support, we don't really have a great story here.
cc @jsvd for his opinion
Agreed, having a DLQ would be the best solution for this. As the (in my opinion) second best option, I chose to log the entire Logstash event (Kafka record value). This way, it is at least possible to debug what kind of messages are dropped. |
Hey everyone, was there ever any movement on this? Seems I've hit this issue in production and it's a bit of a show-stopping problem if enough of these messages build up and are constantly retrying. |
This PR still works on the |
Hey, thanks for this PR, it unblocked our |
8d25cde
to
da74af9
Compare
After rebasing I noticed that the CI failure was caused by an actual problem in the spec (vs. actual behaviour). This is fixed in a new commit. I also noticed that |
@jsvd Are you good to go with this after the most recent push? |
4714fd4
to
d746376
Compare
Nil values were removed from the futures array before looping, causing wrong indexes relative to the batch array.
cd63a07
to
2c72ced
Compare
Apparently I missed two specs, now fixed. |
Is there any reason this isn't getting merged? I don't really know what to do with a plugin that will DOS itself to death... It seems pretty critical. |
Closing in favour of logstash-plugins/logstash-integration-kafka#29. |
Fixes #193
Fixes #190
Fixes #178
Fixes #172
Current situation
Infinite retry for permanent failure (
RecordTooLargeException
):New situation
RecordTooLargeException
gets dropped and logged:Transient failures, like a broker restart, are still handled just fine (single server cluster in this case):