From bcee93de487c9bde32bf0f343d21ea3501a692cc Mon Sep 17 00:00:00 2001 From: Dana Powers Date: Thu, 13 Feb 2025 11:53:00 -0800 Subject: [PATCH] Check for socket and unresolved futures before creating selector in conn.check_version --- kafka/conn.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/kafka/conn.py b/kafka/conn.py index 177053f08..c538f0b21 100644 --- a/kafka/conn.py +++ b/kafka/conn.py @@ -1251,13 +1251,14 @@ def reset_override_configs(): # request was unrecognized mr = self.send(MetadataRequest[0](topics)) - selector = self.config['selector']() - selector.register(self._sock, selectors.EVENT_READ) - while not (f.is_done and mr.is_done): - selector.select(1) - for response, future in self.recv(): - future.success(response) - selector.close() + if not (f.is_done and mr.is_done) and self._sock is not None: + selector = self.config['selector']() + selector.register(self._sock, selectors.EVENT_READ) + while not (f.is_done and mr.is_done): + selector.select(1) + for response, future in self.recv(): + future.success(response) + selector.close() if f.succeeded(): if isinstance(request, ApiVersionRequest[0]):