summaryrefslogtreecommitdiff
path: root/kafka/client_async.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2016-04-25 22:33:19 -0700
committerDana Powers <dana.powers@gmail.com>2016-04-25 22:33:19 -0700
commit5b393ac2b51b9100e43299a16d11f70fe117da5c (patch)
tree7e198a0f5be06d60db76d12d44f1cb81d4a8115f /kafka/client_async.py
parent161fa6d76b8220954eb52554e4bebc470308172d (diff)
parentfa59d4da590e851a137cb0cf4c93f0089cae6890 (diff)
downloadkafka-python-5b393ac2b51b9100e43299a16d11f70fe117da5c.tar.gz
Merge pull request #671 from dpkp/disconnects
Improve socket disconnect handling
Diffstat (limited to 'kafka/client_async.py')
-rw-r--r--kafka/client_async.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/kafka/client_async.py b/kafka/client_async.py
index 6f5d1fe..7719426 100644
--- a/kafka/client_async.py
+++ b/kafka/client_async.py
@@ -142,6 +142,7 @@ class KafkaClient(object):
# Exponential backoff if bootstrap fails
backoff_ms = self.config['reconnect_backoff_ms'] * 2 ** self._bootstrap_fails
next_at = self._last_bootstrap + backoff_ms / 1000.0
+ self._refresh_on_disconnects = False
now = time.time()
if next_at > now:
log.debug("Sleeping %0.4f before bootstrapping again", next_at - now)
@@ -180,6 +181,7 @@ class KafkaClient(object):
log.error('Unable to bootstrap from %s', hosts)
# Max exponential backoff is 2^12, x4000 (50ms -> 200s)
self._bootstrap_fails = min(self._bootstrap_fails + 1, 12)
+ self._refresh_on_disconnects = True
def _can_connect(self, node_id):
if node_id not in self._conns:
@@ -223,7 +225,7 @@ class KafkaClient(object):
except KeyError:
pass
if self._refresh_on_disconnects:
- log.warning("Node %s connect failed -- refreshing metadata", node_id)
+ log.warning("Node %s connection failed -- refreshing metadata", node_id)
self.cluster.request_update()
def _maybe_connect(self, node_id):