@@ -154,6 +154,7 @@ class KafkaClient(object):
154
154
'bootstrap_topics_filter' : set (),
155
155
'client_id' : 'kafka-python-' + __version__ ,
156
156
'request_timeout_ms' : 30000 ,
157
+ 'wakeup_timeout_ms' : 3000 ,
157
158
'connections_max_idle_ms' : 9 * 60 * 1000 ,
158
159
'reconnect_backoff_ms' : 50 ,
159
160
'reconnect_backoff_max_ms' : 1000 ,
@@ -203,6 +204,7 @@ def __init__(self, **configs):
203
204
self ._bootstrap_fails = 0
204
205
self ._wake_r , self ._wake_w = socket .socketpair ()
205
206
self ._wake_r .setblocking (False )
207
+ self ._wake_w .settimeout (self .config ['wakeup_timeout_ms' ] / 1000.0 )
206
208
self ._wake_lock = threading .Lock ()
207
209
208
210
self ._lock = threading .RLock ()
@@ -871,6 +873,9 @@ def wakeup(self):
871
873
with self ._wake_lock :
872
874
try :
873
875
self ._wake_w .sendall (b'x' )
876
+ except socket .timeout :
877
+ log .warning ('Timeout to send to wakeup socket!' )
878
+ raise Errors .KafkaTimeoutError ()
874
879
except socket .error :
875
880
log .warning ('Unable to send to wakeup socket!' )
876
881
0 commit comments