You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We've been using your driver for a while but we've recently come across some odd behavior when it comes to kafkerl handling re-connection to an "on-purpose" taken down broker of Kafka.
What kafkerl does is to handle the tcp_closed message from gen_tcp. Then the process tries to reconnect and if it runs out of retries, it will stop with reason {error, unable_to_connect}. That will make kafkerl_connector to die with the same reason as well, as the link is propagated (kafkerl_connector isn't trapping exits), and as a consequence of that dying, it will propagate the exit to the other kaka_broker_connection processes that could be connected to other brokers.
Is this the desirable behavior? To me it looks that we'd like to protect those other processes from dying so we maintain the connection to other brokers.
I hope I was descriptive enough.
Thanks.
The text was updated successfully, but these errors were encountered:
It is intentional because after a broker goes down, zookeeper might decide to move the topics around. I guess it could be "fixed" by simply checking which brokers should be restarted instead of just restarting them all. I will think about doing that, could you please add an issue so I can look into it?
Hi Hernán,
We've been using your driver for a while but we've recently come across some odd behavior when it comes to
kafkerl
handling re-connection to an "on-purpose" taken down broker of Kafka.What
kafkerl
does is to handle thetcp_closed
message fromgen_tcp
. Then the process tries to reconnect and if it runs out of retries, it will stop with reason{error, unable_to_connect}
. That will makekafkerl_connector
to die with the same reason as well, as the link is propagated (kafkerl_connector
isn't trapping exits), and as a consequence of that dying, it will propagate the exit to the otherkaka_broker_connection
processes that could be connected to other brokers.Is this the desirable behavior? To me it looks that we'd like to protect those other processes from dying so we maintain the connection to other brokers.
I hope I was descriptive enough.
Thanks.
The text was updated successfully, but these errors were encountered: