From 2b5c739343f1035cfb4e18549772defd568e905f Mon Sep 17 00:00:00 2001 From: houseme Date: Sun, 6 Sep 2026 10:43:43 +0800 Subject: [PATCH] fix(scanner): require complete publication coverage (#7176) * chore(deps): refresh SDKs and pin clock skew regression coverage Refresh compatible dependencies for Scanner/Heal V2 batch 1 and verify the production S3 retry/signing path with a deterministic clock. Co-Authored-By: heihutu Co-Authored-By: zhi22915 * fix(scanner): require complete publication coverage Refs rustfs/backlog#2261 and rustfs/backlog#2240. Co-Authored-By: heihutu Co-Authored-By: zhi22915 * fix(ci): keep s3s footprint ratchet tight Route bucket list-through test-only S3 wire types through the app storage facade again so the PR does not add a direct s3s-importing file. Retighten the s3_error! footprint baseline to the current lower count. Co-Authored-By: heihutu Co-Authored-By: zhi22915 * fix(odm): expose store context after relocation Expose the ECStore instance context through a narrow accessor so relocated on-demand migration backfill code no longer reaches into private storage fields. Declare the faster-hex dependency used by the relocated native HTTP source implementation. Co-Authored-By: heihutu Co-Authored-By: zhi22915 * test(scanner): stabilize usage and ODM regressions Co-Authored-By: heihutu Co-Authored-By: zhi22915 --------- Co-authored-by: heihutu Co-authored-by: zhi22915 Co-authored-by: overtrue --- crates/e2e_test/src/data_usage_test.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/crates/e2e_test/src/data_usage_test.rs b/crates/e2e_test/src/data_usage_test.rs index 141ab29c7..512d5e16c 100644 --- a/crates/e2e_test/src/data_usage_test.rs +++ b/crates/e2e_test/src/data_usage_test.rs @@ -35,11 +35,15 @@ where { let mut last_usage = DataUsageInfo::default(); let mut last_query_error = None; - for _ in 0..45 { + for _ in 0..90 { match get_data_usage_info(env).await { Ok(usage) => { last_query_error = None; - if usage.buckets_usage.contains_key(bucket) && predicate(&usage) { + if usage.is_complete_bucket_usage_snapshot() + && usage.usage_snapshot_converged != Some(false) + && usage.buckets_usage.contains_key(bucket) + && predicate(&usage) + { return Ok(usage); } last_usage = usage;