Skip to content

Commit 370de2b

Browse files
committed
fix: handle empty error channel in returncode to prevent race condition
1 parent 45de1aa commit 370de2b

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

kubernetes/base/stream/ws_client.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -284,12 +284,15 @@ def returncode(self):
284284
else:
285285
if self._returncode is None:
286286
err = self.read_channel(ERROR_CHANNEL)
287+
if not err:
288+
return None
287289
err = yaml.safe_load(err)
288-
if err['status'] == "Success":
290+
if err and err.get('status') == 'Success':
289291
self._returncode = 0
290-
else:
291-
self._returncode = int(err['details']['causes'][0]['message'])
292-
return self._returncode
292+
elif err and err.get('status') == 'Failure':
293+
self._returncode = int(
294+
err['details']['causes'][0]['message']
295+
)
293296

294297
def close(self, **kwargs):
295298
"""

0 commit comments

Comments
 (0)