From ac27c87665a852127855878612a13d52f11fc9c7 Mon Sep 17 00:00:00 2001 From: Sascha Bleidner Date: Thu, 21 Aug 2025 15:25:42 +0200 Subject: [PATCH] check if client is ready for every poll to ensure broker is still reachable --- kafka/consumer/group.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kafka/consumer/group.py b/kafka/consumer/group.py index dcb322b84..5772f3b31 100644 --- a/kafka/consumer/group.py +++ b/kafka/consumer/group.py @@ -726,6 +726,10 @@ def _poll_once(self, timer, max_records, update_offsets=True): log.debug('poll: timeout during coordinator.poll(); returning early') return {} + node_id = self._coordinator.coordinator() + if node_id is None or not self._client.ready(node_id, metadata_priority=False): + return {} + has_all_fetch_positions = self._update_fetch_positions(timeout_ms=timer.timeout_ms) # If data is available already, e.g. from a previous network client