Skip to content

Commit 2d98d0d

Browse files
committed
Dont use timer in client.poll() unless user provides timeout_ms
1 parent 5f3b966 commit 2d98d0d

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

kafka/client_async.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -645,11 +645,7 @@ def poll(self, timeout_ms=None, future=None):
645645
"""
646646
if not isinstance(timeout_ms, (int, float, type(None))):
647647
raise TypeError('Invalid type for timeout: %s' % type(timeout_ms))
648-
649-
if timeout_ms is not None:
650-
timer = Timer(timeout_ms)
651-
else:
652-
timer = Timer(self.config['request_timeout_ms'])
648+
timer = Timer(timeout_ms)
653649

654650
# Loop for futures, break after first loop if None
655651
responses = []
@@ -675,11 +671,12 @@ def poll(self, timeout_ms=None, future=None):
675671
if future is not None and future.is_done:
676672
timeout = 0
677673
else:
674+
user_timeout_ms = timer.timeout_ms if timeout_ms is not None else self.config['request_timeout_ms']
678675
idle_connection_timeout_ms = self._idle_expiry_manager.next_check_ms()
679676
request_timeout_ms = self._next_ifr_request_timeout_ms()
680-
log.debug("Timeouts: user %f, metadata %f, idle connection %f, request %f", timer.timeout_ms, metadata_timeout_ms, idle_connection_timeout_ms, request_timeout_ms)
677+
log.debug("Timeouts: user %f, metadata %f, idle connection %f, request %f", user_timeout_ms, metadata_timeout_ms, idle_connection_timeout_ms, request_timeout_ms)
681678
timeout = min(
682-
timer.timeout_ms,
679+
user_timeout_ms,
683680
metadata_timeout_ms,
684681
idle_connection_timeout_ms,
685682
request_timeout_ms)

0 commit comments

Comments
 (0)