From ed1ba7cf07a2de382b8f6ba415ff643a8fe4038f Mon Sep 17 00:00:00 2001 From: RogerJanusiak Date: Wed, 8 Oct 2025 07:12:36 -0500 Subject: [PATCH 1/3] Added the ability to check to make sure a file is not empty for not iterator root files. --- servicex_analysis_utils/materialization.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/servicex_analysis_utils/materialization.py b/servicex_analysis_utils/materialization.py index 167f2ee..18a7221 100644 --- a/servicex_analysis_utils/materialization.py +++ b/servicex_analysis_utils/materialization.py @@ -84,10 +84,12 @@ def to_awk(deliver_dict, dask=False, iterator=False, **kwargs): if iterator == True: awk_arrays[sample] = iterators # return iterators else: - awk_arrays[sample] = ak.concatenate( - list(iterators) - ) # return array - + arrays = list(iterators) + if arrays: + awk_arrays[sample] = ak.concatenate(arrays) + else: + logging.warning(f"No arrays yielded for sample {sample}. Check file content or TTree name.") + awk_arrays[sample] = None else: # file is parquet awk_arrays[sample] = ak.from_parquet(paths, **kwargs) From 6e312fe2b9fd373d290c418bfb08c1e299ddd4a2 Mon Sep 17 00:00:00 2001 From: RogerJanusiak Date: Wed, 8 Oct 2025 07:16:59 -0500 Subject: [PATCH 2/3] Moved it to raise an error and not return no data --- servicex_analysis_utils/materialization.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/servicex_analysis_utils/materialization.py b/servicex_analysis_utils/materialization.py index 18a7221..25f49c3 100644 --- a/servicex_analysis_utils/materialization.py +++ b/servicex_analysis_utils/materialization.py @@ -88,8 +88,9 @@ def to_awk(deliver_dict, dask=False, iterator=False, **kwargs): if arrays: awk_arrays[sample] = ak.concatenate(arrays) else: - logging.warning(f"No arrays yielded for sample {sample}. Check file content or TTree name.") - awk_arrays[sample] = None + raise RuntimeError( + f"No arrays yielded for sample {sample}. Check file content or TTree name." + ) else: # file is parquet awk_arrays[sample] = ak.from_parquet(paths, **kwargs) From 3fcfd0b0d586508192e63e5f69f3c05993ae81d5 Mon Sep 17 00:00:00 2001 From: RogerJanusiak Date: Wed, 8 Oct 2025 07:17:51 -0500 Subject: [PATCH 3/3] Fixed black --- servicex_analysis_utils/materialization.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servicex_analysis_utils/materialization.py b/servicex_analysis_utils/materialization.py index 25f49c3..a75f496 100644 --- a/servicex_analysis_utils/materialization.py +++ b/servicex_analysis_utils/materialization.py @@ -89,7 +89,7 @@ def to_awk(deliver_dict, dask=False, iterator=False, **kwargs): awk_arrays[sample] = ak.concatenate(arrays) else: raise RuntimeError( - f"No arrays yielded for sample {sample}. Check file content or TTree name." + f"No arrays yielded for sample {sample}. Check file content or TTree name." ) else: # file is parquet