Skip to content

Commit cd7ade8

Browse files
committed
Enhance exception handling when load session from file
1 parent 4cb4241 commit cd7ade8

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

enterprise_gateway/services/sessions/kernelsessionmanager.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,6 @@ def save_session(self, kernel_id: str) -> None:
362362
temp_session[kernel_id] = self._sessions[kernel_id]
363363
with open(kernel_session_file_path, "w") as fp:
364364
json.dump(KernelSessionManager.pre_save_transformation(temp_session), fp)
365-
fp.close()
366365

367366
def load_sessions(self) -> None:
368367
"""Load the sessions."""
@@ -385,9 +384,17 @@ def _load_session_from_file(self, file_name: str) -> None:
385384
kernel_session_file_path = os.path.join(self._get_sessions_loc(), file_name)
386385
if os.path.exists(kernel_session_file_path):
387386
self.log.debug(f"Loading saved session(s) from {kernel_session_file_path}")
388-
with open(kernel_session_file_path) as fp:
389-
self._sessions.update(KernelSessionManager.post_load_transformation(json.load(fp)))
390-
fp.close()
387+
try:
388+
with open(kernel_session_file_path) as fp:
389+
self._sessions.update(KernelSessionManager.post_load_transformation(json.load(fp)))
390+
except json.JSONDecodeError as e:
391+
self.log.error(
392+
f"Failed to load session from {kernel_session_file_path}: Invalid JSON - {e}"
393+
)
394+
except Exception as e:
395+
self.log.error(
396+
f"Failed to load session from {kernel_session_file_path}: {type(e).__name__} - {e}"
397+
)
391398

392399
def _get_sessions_loc(self) -> str:
393400
path = os.path.join(self.persistence_root, KERNEL_SESSIONS_DIR_NAME)

0 commit comments

Comments
 (0)