You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Loïc Monney (JIRA)" <ji...@apache.org> on 2018/12/19 07:50:00 UTC
[jira] [Created] (KAFKA-7755) Kubernetes - Kafka clients are
resolving DNS entries only one time
Loïc Monney created KAFKA-7755:
----------------------------------
Summary: Kubernetes - Kafka clients are resolving DNS entries only one time
Key: KAFKA-7755
URL: https://issues.apache.org/jira/browse/KAFKA-7755
Project: Kafka
Issue Type: Bug
Components: clients
Affects Versions: 2.1.0, 2.2.0, 2.1.1
Environment: Kubernetes
Reporter: Loïc Monney
*Introduction*
Since 2.1.0 Kafka clients are supporting multiple DNS resolved IP addresses if the first one fails. This change has been introduced by https://issues.apache.org/jira/browse/KAFKA-6863. However this DNS resolution is now performed only one time by the clients. This is not a problem if all brokers have fixed IP addresses, however this is definitely an issue when Kafka brokers are run on top of Kubernetes. Indeed, new Kubernetes pods will receive another IP address, so as soon as all brokers will have been restarted clients won't be able to reconnect to any broker.
*Impact*
Everyone running Kafka 2.1 or later on top of Kubernetes is impacted when a rolling restart is performed.
*Root cause*
Since https://issues.apache.org/jira/browse/KAFKA-6863 Kafka clients are resolving DNS entries only once.
*Proposed solution*
In [https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/clients/ClusterConnectionStates.java#L368] Kafka clients should perform the DNS resolution again when all IP addresses have been "used" (when _index_ is back to 0)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)