From bf2ca9113fbf27a0b066b52ff740f8b1430f9c5a Mon Sep 17 00:00:00 2001 From: Zhengchao An Date: Sun, 6 Sep 2026 21:20:46 +0800 Subject: [PATCH] test(scanner): settle fixture writes before activity baseline (#7290) --- crates/scanner/src/scanner_io/tests.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/crates/scanner/src/scanner_io/tests.rs b/crates/scanner/src/scanner_io/tests.rs index e19fc2496..e33a893d0 100644 --- a/crates/scanner/src/scanner_io/tests.rs +++ b/crates/scanner/src/scanner_io/tests.rs @@ -453,6 +453,14 @@ async fn scoped_scan_same_cycle_maintenance_rewalks_after_root_delivery_failure( .put_object(bucket, "initial", &mut reader, &ScannerObjectOptions::default()) .await .expect("initial object should persist"); + let lock = store.pools[0].disk_set[0] + .new_ns_lock(bucket, "initial") + .await + .expect("fixture namespace lock should be created"); + let _settled = lock + .get_write_lock(Duration::from_secs(30)) + .await + .expect("fixture rename tail should finish before the usage scan"); } let ctx = CancellationToken::new(); let budget = ScannerCycleBudget::new(&ctx, ScannerCycleBudgetConfig::default()); @@ -503,6 +511,15 @@ async fn scoped_scan_same_cycle_maintenance_rewalks_after_root_delivery_failure( .put_object("cold-bucket", "new", &mut reader, &ScannerObjectOptions::default()) .await .expect("new cold object should persist"); + let lock = store.pools[0].disk_set[0] + .new_ns_lock("cold-bucket", "new") + .await + .expect("fixture namespace lock should be created"); + let _settled = lock + .get_write_lock(Duration::from_secs(30)) + .await + .expect("fixture rename tail should finish before the usage scan"); + drop(_settled); record_dirty_usage_bucket("hot-bucket"); if scan_mode == HealScanMode::Normal && !requires_full_scan { record_dirty_usage_bucket("cold-bucket");