diff options
author | Dana Powers <dana.powers@gmail.com> | 2016-04-09 09:24:05 -0700 |
---|---|---|
committer | Dana Powers <dana.powers@gmail.com> | 2016-04-09 09:24:39 -0700 |
commit | 5b3042cb6d4fe3bb70e30e2ce7e776d8f124a27e (patch) | |
tree | 4653c4f2d73d7839880e0b0e9befaf3a0762fb9c | |
parent | ffd1423a81bd0f44fd0440de13f0c1ec6b5be43d (diff) | |
download | kafka-python-5b3042cb6d4fe3bb70e30e2ce7e776d8f124a27e.tar.gz |
Handle SSL HANDSHAKE state in KafkaClient state change handler
-rw-r--r-- | kafka/client_async.py | 6 |
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) |