test(scanner): repair post-fence fixtures (#6478)

This commit is contained in:
Zhengchao An
2026-08-24 09:33:21 +08:00
committed by GitHub
parent 2bd1df3075
commit 0e015360cc
3 changed files with 17 additions and 4 deletions
+8
View File
@@ -69,6 +69,14 @@ async fn setup_scanner_cycle_store() -> (tempfile::TempDir, Arc<ECStore>) {
.await
.expect("scanner cycle test ECStore should initialize");
init_bucket_metadata_sys_for_scanner_tests(store.clone()).await;
save_config(
store.clone(),
DATA_USAGE_OBJ_NAME_PATH.as_str(),
serde_json::to_vec(&complete_usage_with_bucket_count(Some(std::time::SystemTime::UNIX_EPOCH), 0))
.expect("scanner cycle usage baseline should encode"),
)
.await
.expect("scanner cycle usage baseline should persist");
(temp_dir, store)
}
+7 -2
View File
@@ -425,7 +425,9 @@ async fn malformed_size_reconciliation_replays_after_restart() {
summary.record_size_reconciliation(entry.clone());
summary.record_reconciliation_scope("b", "object");
scanner.apply_size_reconciliation(&summary);
scanner.finish_size_reconciliation_batch();
scanner.apply_size_reconciliation(&summary);
scanner.finish_size_reconciliation_batch();
assert_eq!(scanner.new_cache.info.size_reconciliation.len(), 1);
assert_eq!(scanner.update_cache.info.size_reconciliation.len(), 1);
@@ -440,6 +442,7 @@ async fn malformed_size_reconciliation_replays_after_restart() {
let mut resolved = SizeSummary::default();
resolved.record_reconciliation_scope("b", "object");
scanner.apply_size_reconciliation(&resolved);
scanner.finish_size_reconciliation_batch();
assert!(scanner.new_cache.info.size_reconciliation.is_empty());
assert!(scanner.update_cache.info.size_reconciliation.is_empty());
}
@@ -453,18 +456,20 @@ async fn malformed_size_reconciliation_clears_bounded_long_object_scope() {
let entry = SizeReconciliationEntry {
key: "long-object-key".to_string(),
bucket: "b".to_string(),
object: bounded_object,
object: bounded_object.clone(),
reason: "invalid_declared_size".to_string(),
..Default::default()
};
let mut summary = SizeSummary::default();
summary.record_size_reconciliation(entry);
scanner.apply_size_reconciliation(&summary);
scanner.finish_size_reconciliation_batch();
assert_eq!(scanner.new_cache.info.size_reconciliation.len(), 1);
let mut resolved = SizeSummary::default();
resolved.record_reconciliation_scope("b", &long_object);
resolved.record_reconciliation_scope("b", &bounded_object);
scanner.apply_size_reconciliation(&resolved);
scanner.finish_size_reconciliation_batch();
assert!(scanner.new_cache.info.size_reconciliation.is_empty());
}
+2 -2
View File
@@ -151,8 +151,8 @@ async fn scanner_set_cache_admission_tracks_owner_snapshot_and_fails_closed() {
let set = store.pools[0].disk_set[0].clone();
assert!(
set.scanner_data_usage_publication_admission_guard().await.is_none(),
"a set must not publish before the owner has refreshed its movement snapshot"
set.scanner_data_usage_publication_admission_guard().await.is_some(),
"a set should refresh the idle owner snapshot before its first publication"
);
assert!(!store.scanner_data_usage_publication_blocked().await);
assert!(