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
Problems detecting when Kafka server is down #48
Comments
Hello, Did anyone managed to reproduce the issue? Thanks. |
My guess is with retries at 0 the sends fail and Kafka drops the message The exceptions should print to error instead to make error detection easier.
|
Thanks for the answer, I tested with --debug so I could see what happened. Indeed there was an exception:
But the fact is that the client is not noticing the error so I potentially could miss messages. From the error message would you say that this is something related to the Kafka output plugin? Or maybe this is something related to the input plugin? |
The input plugin is relying on the underlying Kafka 0.8 Java Consumer Client. This updated client runs connection attempts in the background in a loop and catches this exception, and then attempts to reconnect. The first thing it does in this loop is to check for new metadata. If you set it is unfortunate, but that is how it is built under the hood. I am working on working around this so we can more reasonably find ourselves in this situation. let me know if that makes sense! |
We have same issue with logstash and logstash-output-kafka plugin. our environment and tested versions: Logstash 2.3.0, 2.3.2, 2.3.4 Tested pipeline (only single instances): Filebeat listens to a file (also tested with logstash file-inputplugin)
tested scenario Scenario: Pipeline is working Scenario: Shutting down Kafka-Broker from scenario above and afterwards Kafka-Broker start start Kafka-Broker (kafka start) We expected that:
We also tried different logstash configurations.
==> retries in combination with retry_backoff_ms enable to buffer messages during the retry process We also tried block_on_buffer_full => true in combination with a small buffer_memory size (100 Bytes).
|
We also tested the following scenario: Scenario: Kafka-Broker will start after Logstash and filebeat is running
After the Kafka-Broker is started Logstash sends buffered messages and opens a connection to filebeat. |
thank you for reporting this issue! I will take a look at this shortly |
Any update on this ?? |
@anuragbsb This issue is used to track all activity we do on this issue, so no comments yet probably means no updates yet. Also, it appears the description of this issue is specific to the http input behavior, not the Kafka output. i would like to close this issue because it is not a Kafka issue. |
@jordansissel seems to be a logstash issue, how do I prevent logstash from processing further input (from file in my case) when my output (kafka) is down. |
A temp solution for this, till logstash implements 'acking' output { |
@jordansissel, does #151 solves the issue? |
Any update on this? What can I do to prevent data loss in Logstash if output Kafka is down? |
Hello,
Recently the Kafka server I was outputting logstash was down (only Kafka, Zookeeper was running). I'm using http input plugin, but instead of returning timeout (because of the logstash internal queue is full because kafka output plugin can't deliver messages to Kafka), it returned status 200, so the client pushing events thinks everything seems ok, resulting in a loss of data.
I already asked about this topic in http input plugin project (see logstash-plugins/logstash-input-http#48), but it seems it could be a problem related to this plugin.
Thanks for your help.
The text was updated successfully, but these errors were encountered: