From 370de2be29c0653f56f9d8e6d1fb3d67bc8c58d5 Mon Sep 17 00:00:00 2001 From: kshiteej-mali Date: Thu, 14 May 2026 23:57:47 +0530 Subject: [PATCH] fix: handle empty error channel in returncode to prevent race condition --- kubernetes/base/stream/ws_client.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/kubernetes/base/stream/ws_client.py b/kubernetes/base/stream/ws_client.py index 27191fa93b..7e203a9005 100644 --- a/kubernetes/base/stream/ws_client.py +++ b/kubernetes/base/stream/ws_client.py @@ -284,12 +284,15 @@ def returncode(self): else: if self._returncode is None: err = self.read_channel(ERROR_CHANNEL) + if not err: + return None err = yaml.safe_load(err) - if err['status'] == "Success": + if err and err.get('status') == 'Success': self._returncode = 0 - else: - self._returncode = int(err['details']['causes'][0]['message']) - return self._returncode + elif err and err.get('status') == 'Failure': + self._returncode = int( + err['details']['causes'][0]['message'] + ) def close(self, **kwargs): """