summaryrefslogtreecommitdiff
path: root/kafka/conn.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2019-09-28 19:30:09 -0700
committerGitHub <noreply@github.com>2019-09-28 19:30:09 -0700
commit89bf6a6ee51e8a54f909eae4785d04e485b91198 (patch)
treedcecac3f96738699441226c4f4a38f2cedc3632e /kafka/conn.py
parent5d1d42429e07f4aa2959b488ea76efb6d0bafc79 (diff)
downloadkafka-python-89bf6a6ee51e8a54f909eae4785d04e485b91198.tar.gz
Rely on socket selector to detect completed connection attempts (#1909)
Diffstat (limited to 'kafka/conn.py')
-rw-r--r--kafka/conn.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/kafka/conn.py b/kafka/conn.py
index 99466d9..5ea5436 100644
--- a/kafka/conn.py
+++ b/kafka/conn.py
@@ -769,16 +769,16 @@ class BrokerConnection(object):
"""
Return the number of milliseconds to wait, based on the connection
state, before attempting to send data. When disconnected, this respects
- the reconnect backoff time. When connecting, returns 0 to allow
- non-blocking connect to finish. When connected, returns a very large
- number to handle slow/stalled connections.
+ the reconnect backoff time. When connecting or connected, returns a very
+ large number to handle slow/stalled connections.
"""
time_waited = time.time() - (self.last_attempt or 0)
if self.state is ConnectionStates.DISCONNECTED:
return max(self._reconnect_backoff - time_waited, 0) * 1000
- elif self.connecting():
- return 0
else:
+ # When connecting or connected, we should be able to delay
+ # indefinitely since other events (connection or data acked) will
+ # cause a wakeup once data can be sent.
return float('inf')
def connected(self):