summaryrefslogtreecommitdiff
path: root/kafka/client_async.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2016-04-08 15:43:47 -0700
committerDana Powers <dana.powers@gmail.com>2016-04-08 15:57:47 -0700
commit85261e02e3b1dcaaa4816ef2cea90326352135f3 (patch)
treea1d97924af30a89d8325bb88ceab713492ad4d9e /kafka/client_async.py
parent3e70e17fa9e7439477ee145f2d9151c3a6ef20a9 (diff)
downloadkafka-python-85261e02e3b1dcaaa4816ef2cea90326352135f3.tar.gz
Drop bootstrap connection once first normal broker is connected
Diffstat (limited to 'kafka/client_async.py')
-rw-r--r--kafka/client_async.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/kafka/client_async.py b/kafka/client_async.py
index bf2f6ea..d0a3723 100644
--- a/kafka/client_async.py
+++ b/kafka/client_async.py
@@ -162,6 +162,12 @@ class KafkaClient(object):
log.debug("Node %s connected", node_id)
if node_id in self._connecting:
self._connecting.remove(node_id)
+ if 'bootstrap' in self._conns and node_id != 'bootstrap':
+ bootstrap = self._conns.pop('bootstrap')
+ # XXX: make conn.close() require error to cause refresh
+ self._refresh_on_disconnects = False
+ bootstrap.close()
+ self._refresh_on_disconnects = True
# Connection failures imply that our metadata is stale, so let's refresh
elif conn.state is ConnectionStates.DISCONNECTING: