@@ -351,7 +351,6 @@ def connect(self):
351
351
if self .state is ConnectionStates .CONNECTING :
352
352
# in non-blocking mode, use repeated calls to socket.connect_ex
353
353
# to check connection status
354
- request_timeout = self .config ['request_timeout_ms' ] / 1000.0
355
354
ret = None
356
355
try :
357
356
ret = self ._sock .connect_ex (self ._sock_addr )
@@ -389,11 +388,6 @@ def connect(self):
389
388
errstr = errno .errorcode .get (ret , 'UNKNOWN' )
390
389
self .close (Errors .KafkaConnectionError ('{} {}' .format (ret , errstr )))
391
390
392
- # Connection timed out
393
- elif time .time () > request_timeout + self .last_attempt :
394
- log .error ('Connection attempt to %s timed out' , self )
395
- self .close (Errors .KafkaConnectionError ('timeout' ))
396
-
397
391
# Needs retry
398
392
else :
399
393
pass
@@ -419,6 +413,14 @@ def connect(self):
419
413
self ._reset_reconnect_backoff ()
420
414
self .config ['state_change_callback' ](self )
421
415
416
+ if self .state not in (ConnectionStates .CONNECTED ,
417
+ ConnectionStates .DISCONNECTED ):
418
+ # Connection timed out
419
+ request_timeout = self .config ['request_timeout_ms' ] / 1000.0
420
+ if time .time () > request_timeout + self .last_attempt :
421
+ log .error ('Connection attempt to %s timed out' , self )
422
+ self .close (Errors .KafkaConnectionError ('timeout' ))
423
+
422
424
return self .state
423
425
424
426
def _wrap_ssl (self ):
0 commit comments