From 1974dc19c5eac1527b99bae8e348557abe5cdcd2 Mon Sep 17 00:00:00 2001 From: Dana Powers Date: Fri, 9 Mar 2018 11:25:36 -0500 Subject: Only increase reconnect backoff if all addrinfos have been tried (#1423) --- kafka/conn.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'kafka/conn.py') diff --git a/kafka/conn.py b/kafka/conn.py index bfaed6a..c2ac28e 100644 --- a/kafka/conn.py +++ b/kafka/conn.py @@ -264,7 +264,7 @@ class BrokerConnection(object): self._ssl_context = self.config['ssl_context'] self._sasl_auth_future = None self.last_attempt = 0 - self._gai = None + self._gai = [] self._sensors = None if self.config['metrics']: self._sensors = BrokerConnectionMetrics(self.config['metrics'], @@ -638,6 +638,9 @@ class BrokerConnection(object): self._reconnect_backoff = self.config['reconnect_backoff_ms'] / 1000.0 def _update_reconnect_backoff(self): + # Do not mark as failure if there are more dns entries available to try + if len(self._gai) > 0: + return if self.config['reconnect_backoff_max_ms'] > self.config['reconnect_backoff_ms']: self._failures += 1 self._reconnect_backoff = self.config['reconnect_backoff_ms'] * 2 ** (self._failures - 1) -- cgit v1.2.1