summaryrefslogtreecommitdiff
path: root/kafka/client_async.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2016-04-09 09:24:05 -0700
committerDana Powers <dana.powers@gmail.com>2016-04-09 09:24:39 -0700
commit5b3042cb6d4fe3bb70e30e2ce7e776d8f124a27e (patch)
tree4653c4f2d73d7839880e0b0e9befaf3a0762fb9c /kafka/client_async.py
parentffd1423a81bd0f44fd0440de13f0c1ec6b5be43d (diff)
downloadkafka-python-5b3042cb6d4fe3bb70e30e2ce7e776d8f124a27e.tar.gz
Handle SSL HANDSHAKE state in KafkaClient state change handler
Diffstat (limited to 'kafka/client_async.py')
-rw-r--r--kafka/client_async.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/kafka/client_async.py b/kafka/client_async.py
index 36e808c..9271008 100644
--- a/kafka/client_async.py
+++ b/kafka/client_async.py
@@ -168,8 +168,10 @@ class KafkaClient(object):
def _conn_state_change(self, node_id, conn):
if conn.connecting():
- self._connecting.add(node_id)
- self._selector.register(conn._sock, selectors.EVENT_WRITE)
+ # SSL connections can enter this state 2x (second during Handshake)
+ if node_id not in self._connecting:
+ self._connecting.add(node_id)
+ self._selector.register(conn._sock, selectors.EVENT_WRITE)
elif conn.connected():
log.debug("Node %s connected", node_id)