mirror of
https://github.com/rustfs/rustfs.git
synced 2026-09-05 19:55:37 +00:00
test(scanner): verify joint checkpoint coverage metadata
Co-Authored-By: heihutu <heihutu@gmail.com> Co-Authored-By: zhi22915 <qiuzgang@gmail.com>
This commit is contained in:
@@ -8631,7 +8631,8 @@ fn scoped_scan_remote_dirty_coverage_invalidates_local_bucket_current() {
|
|||||||
new_plan,
|
new_plan,
|
||||||
crate::scanner_io::DataUsageCacheReuseOptions {
|
crate::scanner_io::DataUsageCacheReuseOptions {
|
||||||
require_source: true,
|
require_source: true,
|
||||||
tier_registry_generation: None
|
tier_registry_generation: None,
|
||||||
|
checkpoint_identity: None,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
crate::scanner_io::DataUsageCacheScanState::Prepared {
|
crate::scanner_io::DataUsageCacheScanState::Prepared {
|
||||||
|
|||||||
@@ -298,6 +298,20 @@ fn checkpoint_fixture_roundtrip_retains_verified_scope_but_old_reader_rebuilds()
|
|||||||
assert!(!old_view.info.snapshot_complete);
|
assert!(!old_view.info.snapshot_complete);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn checkpoint_fixture_optional_coverage_metadata_roundtrips_together() {
|
||||||
|
let (mut cache, _) = bound_checkpoint();
|
||||||
|
cache.info.scan_coverage_digest = Some(DataUsageScanPlanDigest([77; 32]));
|
||||||
|
let encoded = cache.marshal_msg().expect("encode every optional coverage field");
|
||||||
|
let decoded = DataUsageCache::unmarshal(&encoded).expect("decode combined W03/W04 metadata map");
|
||||||
|
assert_eq!(decoded.info.scan_identity, cache.info.scan_identity);
|
||||||
|
assert_eq!(decoded.info.scan_progress, cache.info.scan_progress);
|
||||||
|
assert_eq!(decoded.info.scan_coverage_receipt, cache.info.scan_coverage_receipt);
|
||||||
|
assert_eq!(decoded.info.scan_coverage_digest, cache.info.scan_coverage_digest);
|
||||||
|
assert_eq!(decoded.validated_scan_frontier(), Some("bucket/static"));
|
||||||
|
assert!(!decoded.info.snapshot_complete);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn checkpoint_fixture_unchanged_complete_plan_keeps_existing_rescan_policy() {
|
fn checkpoint_fixture_unchanged_complete_plan_keeps_existing_rescan_policy() {
|
||||||
let (mut cache, identity) = bound_checkpoint();
|
let (mut cache, identity) = bound_checkpoint();
|
||||||
|
|||||||
Reference in New Issue
Block a user