logstash-plugins/logstash-output-kafka

Separate behaviour for retriable and non-retriable exceptions

praseodym opened this issue · 2 comments

Currently this plugin will retry producing events for any exception, even those that are not retriable (e.g. a SerializationException). By default there is no limit on the number of retries which causes these kind of failures to infinitely hang the entire Logstash pipeline.

Fortunately, the Kafka client library already provides a RetriableException base class for exceptions that are retriable (such as a TimeoutException). It makes a lot of sense to implement retry logic only for exceptions that inherit RetriableException and drop or send-to-DLQ events that are not.

Implemented in #194.

Closing as this has been fixed in logstash-plugins/logstash-integration-kafka#29, in Logstash Kafka Integration plugin version 10.5.0