From 3cb1fca0757e12c9353dcb29619206f2ce0e4a70 Mon Sep 17 00:00:00 2001 From: Alex Wilcoxson Date: Tue, 30 Jan 2024 16:11:53 -0600 Subject: [PATCH] fix: don't panic in table load --- .../deltalake-core/src/kernel/snapshot/log_segment.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/crates/deltalake-core/src/kernel/snapshot/log_segment.rs b/crates/deltalake-core/src/kernel/snapshot/log_segment.rs index 66cc428c3f..69c5a6e784 100644 --- a/crates/deltalake-core/src/kernel/snapshot/log_segment.rs +++ b/crates/deltalake-core/src/kernel/snapshot/log_segment.rs @@ -451,9 +451,13 @@ async fn list_log_files_with_checkpoint( .collect_vec(); // TODO raise a proper error - assert_eq!(checkpoint_files.len(), cp.parts.unwrap_or(1) as usize); - - Ok((commit_files, checkpoint_files)) + if checkpoint_files.len() != cp.parts.unwrap_or(1) as usize { + Err(DeltaTableError::Generic( + format!("Checkpoint files inconsistent with checkpoint version {} metadata: expected {} files, found {:#?}", cp.version, cp.parts.unwrap_or(1), checkpoint_files) + )) + } else { + Ok((commit_files, checkpoint_files)) + } } /// List relevant log files.