From 944045edcbef208ad62188d53d74441a86833a23 Mon Sep 17 00:00:00 2001 From: ujjwx1 Date: Sun, 1 Mar 2026 23:10:12 +0530 Subject: [PATCH] fix: guard DXT_POSIX and DXT_MPIIO access with existence checks in subset_dataset Fixes #25 - KeyError when running dxt-explorer on POSIX-only traces that have no MPI-IO records. --- explorer/dxt.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/explorer/dxt.py b/explorer/dxt.py index e46cb9e..7a75f38 100644 --- a/explorer/dxt.py +++ b/explorer/dxt.py @@ -368,18 +368,20 @@ def graceful_wrapper(r, rec, lustre_records_by_id): except Exception: pass - list( - map( - lambda rec: graceful_wrapper(report, rec, lustre_records_by_id), - report.records["DXT_POSIX"], + if "DXT_POSIX" in report.records: + list( + map( + lambda rec: graceful_wrapper(report, rec, lustre_records_by_id), + report.records["DXT_POSIX"], + ) ) - ) - list( - map( - lambda rec: graceful_wrapper(report, rec, lustre_records_by_id), - report.records["DXT_MPIIO"], + if "DXT_MPIIO" in report.records: + list( + map( + lambda rec: graceful_wrapper(report, rec, lustre_records_by_id), + report.records["DXT_MPIIO"], + ) ) - ) df_posix = [] if "DXT_POSIX" in report.records: