docs: delete two false cost claims about the boot sweep's drains
Both said a whole-hive graceful stop costs ONE `GRACEFUL_STOP_TIMEOUT` in total because drains overlap. That is only true for a power op. In a rebuild subtree the brace holds the build slot across the whole subtree, drain included, so the boot sweep's per-agent drains serialise and the sweep costs one timeout per wave of `buildSlots`. Deleted rather than corrected. The right cost statement depends on an operator knob and belongs in docs/coordinator.md if it belongs anywhere; a comment that has to hedge about a config value is the kind that goes stale silently. A comment saying nothing beats one that lies.
This commit is contained in:
parent
e7f4a19939
commit
272944b98f
1 changed files with 2 additions and 6 deletions
|
|
@ -19,9 +19,7 @@ use crate::power::{ReconcileAction, reconcile_action};
|
||||||
/// Max time `Drain` waits for the harness to run its stop-checkpoint
|
/// Max time `Drain` waits for the harness to run its stop-checkpoint
|
||||||
/// turn before falling back to the hard stop. Generous — a checkpoint
|
/// turn before falling back to the hard stop. Generous — a checkpoint
|
||||||
/// turn can take a while — but bounded so a wedged agent never blocks
|
/// turn can take a while — but bounded so a wedged agent never blocks
|
||||||
/// the stop indefinitely. Drains hold no build slot, so a whole-hive
|
/// the stop indefinitely.
|
||||||
/// graceful stop overlaps every agent's drain instead of serialising
|
|
||||||
/// N × this timeout.
|
|
||||||
pub const GRACEFUL_STOP_TIMEOUT: std::time::Duration = std::time::Duration::from_mins(3);
|
pub const GRACEFUL_STOP_TIMEOUT: std::time::Duration = std::time::Duration::from_mins(3);
|
||||||
|
|
||||||
/// Max time `PauseDrain` waits for the harness to report
|
/// Max time `PauseDrain` waits for the harness to report
|
||||||
|
|
@ -353,9 +351,7 @@ async fn run_meta_lock(
|
||||||
// Grow one rebuild subgraph per stale agent into *this* boot DAG
|
// Grow one rebuild subgraph per stale agent into *this* boot DAG
|
||||||
// (rooted on this `MetaLock`, so they build against the post-bump
|
// (rooted on this `MetaLock`, so they build against the post-bump
|
||||||
// lock), rather than fanning out child DAGs. The caller grows them
|
// lock), rather than fanning out child DAGs. The caller grows them
|
||||||
// with the graceful flavour: the per-agent drains overlap, so the
|
// with the graceful flavour.
|
||||||
// sweep's cost ceiling is one `GRACEFUL_STOP_TIMEOUT` in total, not
|
|
||||||
// one per agent.
|
|
||||||
return Ok(fanout.unwrap_or_default());
|
return Ok(fanout.unwrap_or_default());
|
||||||
}
|
}
|
||||||
let _progress = coord.meta_update_guard();
|
let _progress = coord.meta_update_guard();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue