diff --git a/src/metric-engine/src/engine/flush.rs b/src/metric-engine/src/engine/flush.rs index 8c0f33aaf3..47120555ff 100644 --- a/src/metric-engine/src/engine/flush.rs +++ b/src/metric-engine/src/engine/flush.rs @@ -151,6 +151,8 @@ ManifestSstEntry { table_dir: "test_metric_region/", region_id: 94506057770(22, .map(|mut e| { let i = e.file_path.rfind('/').unwrap(); e.file_path.replace_range(i..(i + 37), "/"); + e.file_size = None; + e.last_modified_ms = None; format!("\n{:?}", e) }) .sorted() diff --git a/src/mito2/src/engine/basic_test.rs b/src/mito2/src/engine/basic_test.rs index 5c2bd4fd4e..7b8def8207 100644 --- a/src/mito2/src/engine/basic_test.rs +++ b/src/mito2/src/engine/basic_test.rs @@ -970,6 +970,8 @@ async fn test_list_ssts_with_format( .map(|mut e| { let i = e.file_path.rfind('/').unwrap(); e.file_path.replace_range(i..(i + 37), "/"); + e.file_size = None; + e.last_modified_ms = None; format!("\n{:?}", e) }) .sorted() diff --git a/src/mito2/src/engine/staging_test.rs b/src/mito2/src/engine/staging_test.rs index 9846933d1f..1b5a6538d8 100644 --- a/src/mito2/src/engine/staging_test.rs +++ b/src/mito2/src/engine/staging_test.rs @@ -26,8 +26,8 @@ use common_recordbatch::RecordBatches; use datatypes::value::Value; use object_store::Buffer; use object_store::layers::mock::{ - Entry, Error as MockError, ErrorKind, List, Lister, Metadata, MockLayerBuilder, - Result as MockResult, Write, Writer, + Delete, Deleter, Entry, Error as MockError, ErrorKind, List, Lister, Metadata, + MockLayerBuilder, OpDelete, Result as MockResult, Write, Writer, }; use partition::expr::{PartitionExpr, col}; use store_api::region_engine::{ @@ -1152,6 +1152,23 @@ impl Write for MockWriter { } } +struct MockDeleter { + inner: Deleter, +} + +impl Delete for MockDeleter { + async fn delete(&mut self, path: &str, args: OpDelete) -> MockResult<()> { + if path.contains("staging") { + return Err(MockError::new(ErrorKind::Unexpected, "mock error")); + } + self.inner.delete(path, args).await + } + + async fn close(&mut self) -> MockResult<()> { + self.inner.close().await + } +} + async fn test_enter_staging_error(env: &mut TestEnv, flat_format: bool) { let partition_expr = default_partition_expr(); let engine = env @@ -1201,6 +1218,7 @@ async fn test_enter_staging_clean_staging_manifest_error_with_format(flat_format inner: lister, }) })) + .deleter_factory(Arc::new(|deleter| Box::new(MockDeleter { inner: deleter }))) .build() .unwrap(); let mut env = TestEnv::new().await.with_mock_layer(mock_layer);