mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-21 11:56:38 +00:00
refactor(heal): split manager.rs queue/scheduler/scan children (#6303)
Split the 6723-line manager.rs (44% inline tests) into a canonical manager.rs + manager/ module tree with zero behavior change: - manager.rs (~1830): HealManager and HealState, HealConfig, task report/snapshot types, overlap policy, admission classification and queue admission, submit paths, task-state queries, and the statistics surface - manager/queue.rs (~450): the priority heal queue, its per-key dedup index, and the queue bookkeeping structs - manager/scheduler.rs (~620): start_scheduler and the process_heal_queue consumption loop with its skip/metric helpers - manager/auto_scan.rs (~550): the automatic disk scanner - manager/unclean_shutdown.rs (~390): unclean-shutdown recovery and its durable replacement-intent helpers - manager/tests.rs (~2970): the inline test module as a child module All module paths are unchanged. The queue structs' fields and the cross-module helpers gain pub(super), whose scope equals the old single-module privacy domain; HealManager's private fields stay in the root and remain reachable from child impl blocks. Code is moved verbatim apart from those markers, heal-level super:: path fixes for the unclean-shutdown move, per-module import headers, and rustfmt re-wraps. The logging-guardrail rule for the manager demote_to_debug_when! count now sums manager.rs with its manager/*.rs children, since one scheduler site moved with process_heal_queue; the >= 6 threshold is unchanged and the forbidden admission info!/warn! pattern check keeps targeting the root admission code. Co-authored-by: heihutu <heihutu@gmail.com>
This commit is contained in:
@@ -1017,9 +1017,11 @@ if rg -n -F 'target: "rustfs::server::http"' rustfs/src/server/layer.rs >/dev/nu
|
||||
exit 1
|
||||
fi
|
||||
|
||||
demoted_admission_sites="$(rg -c -F 'demote_to_debug_when!(' crates/heal/src/heal/manager.rs || echo 0)"
|
||||
# manager.rs and its manager/ child modules are one logical module tree since
|
||||
# the queue/scheduler split; count the demoted sites across the whole tree.
|
||||
demoted_admission_sites="$(cat crates/heal/src/heal/manager.rs crates/heal/src/heal/manager/*.rs 2>/dev/null | rg -c -F 'demote_to_debug_when!(' || echo 0)"
|
||||
if [[ "$demoted_admission_sites" -lt 6 ]]; then
|
||||
echo "❌ logging guardrail violation: heal queue admission/scheduler warns for per-object requests must stay level-split via demote_to_debug_when! (expected >= 6 sites in crates/heal/src/heal/manager.rs, found $demoted_admission_sites)" >&2
|
||||
echo "❌ logging guardrail violation: heal queue admission/scheduler warns for per-object requests must stay level-split via demote_to_debug_when! (expected >= 6 total sites in the manager module tree, found $demoted_admission_sites)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user