From 995ea64b8fe13f9a223e67b646ac6a1430b07cb8 Mon Sep 17 00:00:00 2001 From: Dana Powers Date: Sun, 3 Jan 2016 15:43:43 -0800 Subject: [PATCH] Fix timeout bug in BrokerConnection.connect() --- kafka/conn.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/kafka/conn.py b/kafka/conn.py index 0e02382..e13913f 100644 --- a/kafka/conn.py +++ b/kafka/conn.py @@ -98,14 +98,15 @@ class BrokerConnection(object): self.close() # error=TimeoutError ? self.last_failure = time.time() - ret = self._sock.connect_ex((self.host, self.port)) - if not ret or ret is errno.EISCONN: - self.state = ConnectionStates.CONNECTED - elif ret is not errno.EALREADY: - log.error('Connect attempt to %s returned error %s.' - ' Disconnecting.', self, ret) - self.close() - self.last_failure = time.time() + else: + ret = self._sock.connect_ex((self.host, self.port)) + if not ret or ret is errno.EISCONN: + self.state = ConnectionStates.CONNECTED + elif ret is not errno.EALREADY: + log.error('Connect attempt to %s returned error %s.' + ' Disconnecting.', self, ret) + self.close() + self.last_failure = time.time() return self.state def blacked_out(self):