mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-19 19:16:17 +00:00
docs(scanner): record heal/scanner MinIO parity decisions (backlog#1878 HS-14/16/18) (#6250)
* refactor(scanner): drop the always-None single-disk default cycle hook single_disk_default_cycle_secs returned None for every maintenance feature combination, so the single-disk startup path already resolved its default cycle from the speed preset (60s at 'default'). Remove the never-wired hook and its pin tests, keep the explicit reset, and record the decision: no special single-disk cycle override without measured cold-start ILM latency evidence; clean-idle backoff already stretches idle cadence (backlog#1878 HS-16). Co-Authored-By: heihutu <heihutu@gmail.com> * docs(operations): add heal/scanner MinIO parity decision notes Document the HS-14/16/18 decision batch from backlog#1878: the scanner idle throttling semantics matrix (RUSTFS_SCANNER_IDLE_MODE x speed preset x foreground read backoff) side by side with MinIO's current static idle_speed switch as verified against upstream master, the migration warnings for env names and value vocabularies, the bitrot cycle default divergence (30d vs off), the stale-multipart / tmp / trash three-stage cleanup comparison with the crash-residue window grading, and the single-disk default cycle decision. Co-Authored-By: heihutu <heihutu@gmail.com> --------- Co-authored-by: heihutu <heihutu@gmail.com>
This commit is contained in:
@@ -1425,10 +1425,6 @@ fn maintenance_inspection_decision(generation: u64, current_generation: u64, att
|
||||
}
|
||||
}
|
||||
|
||||
fn single_disk_default_cycle_secs(_features: ScannerMaintenanceFeatures) -> Option<u64> {
|
||||
None
|
||||
}
|
||||
|
||||
fn single_disk_default_speed() -> ScannerSpeed {
|
||||
ScannerSpeed::Default
|
||||
}
|
||||
@@ -1592,9 +1588,12 @@ async fn configure_scanner_defaults(
|
||||
scanner_maintenance_generation(),
|
||||
)
|
||||
});
|
||||
let default_cycle_secs = single_disk_default_cycle_secs(features);
|
||||
// Single-disk keeps the speed-preset-derived default cycle (60s at the
|
||||
// `default` preset) instead of a special shorter cycle: no measured
|
||||
// cold-start ILM latency basis for an override, and clean-idle backoff
|
||||
// already stretches idle cadence. Decision record: backlog#1878 (HS-16).
|
||||
set_scanner_default_speed(single_disk_default_speed());
|
||||
set_scanner_default_cycle_secs(default_cycle_secs);
|
||||
set_scanner_default_cycle_secs(None);
|
||||
info!(
|
||||
target: "rustfs::scanner",
|
||||
event = EVENT_SCANNER_RUNTIME_CONFIG,
|
||||
@@ -1603,7 +1602,6 @@ async fn configure_scanner_defaults(
|
||||
env_speed = ENV_SCANNER_SPEED,
|
||||
env_cycle = ENV_SCANNER_CYCLE,
|
||||
env_start_delay = ENV_SCANNER_START_DELAY_SECS,
|
||||
?default_cycle_secs,
|
||||
lifecycle_active = features.lifecycle,
|
||||
replication_active = features.replication,
|
||||
feature_inspection_failed = features.inspection_failed,
|
||||
@@ -6950,11 +6948,6 @@ mod tests {
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_single_disk_default_cycle_uses_speed_based_interval_without_maintenance_features() {
|
||||
assert_eq!(single_disk_default_cycle_secs(ScannerMaintenanceFeatures::default()), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_single_disk_default_speed_uses_regular_scanner_default() {
|
||||
assert_eq!(single_disk_default_speed(), ScannerSpeed::Default);
|
||||
@@ -7415,39 +7408,6 @@ mod tests {
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_single_disk_default_cycle_preserves_regular_cycle_for_lifecycle() {
|
||||
assert_eq!(
|
||||
single_disk_default_cycle_secs(ScannerMaintenanceFeatures {
|
||||
lifecycle: true,
|
||||
..Default::default()
|
||||
}),
|
||||
None
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_single_disk_default_cycle_preserves_regular_cycle_for_replication() {
|
||||
assert_eq!(
|
||||
single_disk_default_cycle_secs(ScannerMaintenanceFeatures {
|
||||
replication: true,
|
||||
..Default::default()
|
||||
}),
|
||||
None
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_single_disk_default_cycle_preserves_regular_cycle_on_inspection_failure() {
|
||||
assert_eq!(
|
||||
single_disk_default_cycle_secs(ScannerMaintenanceFeatures {
|
||||
inspection_failed: true,
|
||||
..Default::default()
|
||||
}),
|
||||
None
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[serial]
|
||||
fn test_cycle_interval_keeps_default_cycle_with_explicit_speed() {
|
||||
|
||||
Reference in New Issue
Block a user