mirror of
https://github.com/rustfs/rustfs.git
synced 2026-09-01 17:58:22 +00:00
35456bcede
Under the cargo test fallback (threads in one process), tests that touch the process-global scanner cycle recovery status or the global usage-save metrics raced each other and failed randomly in full-suite runs. Mark all touchers with #[serial] per docs/testing/README.md: - 22 tests reading or writing scanner_cycle_recovery_status() via load_scanner_cycle_state_for_startup / reset_scanner_cycle_recovery - 24 tests mutating global_metrics() usage-save counters via store_data_usage_in_backend*, which raced the existing serial test_deferred_usage_save_keeps_last_real_save_metric No-op under nextest, which isolates each test in its own process.
RustFS Scanner
RustFS Scanner is the background maintenance scan loop. It handles usage accounting, lifecycle expiry and transition admission, bucket replication repair admission, scanner-driven heal/bitrot checks, and namespace alerts.
For operator-facing runtime controls, status fields, and tuning workflows, see Scanner Runtime Controls. For repeatable scanner-pressure validation, see Scanner Benchmark Runbook.
Chinese documentation is available in README.zh-CN.md.
Development
Build
cargo build --package rustfs-scanner
Test
cargo test --package rustfs-scanner
License
Apache License 2.0