From 5b3042cb6d4fe3bb70e30e2ce7e776d8f124a27e Mon Sep 17 00:00:00 2001 From: Dana Powers Date: Sat, 9 Apr 2016 09:24:05 -0700 Subject: Handle SSL HANDSHAKE state in KafkaClient state change handler --- kafka/client_async.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'kafka/client_async.py') 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) -- cgit v1.2.1