wip(#3001): convert tests off the container id; drop Source + insert_group
The last of the DAG-container removal. `tests.rs` navigated by the id `submit` returned, so removing the container removed the tests' way of finding what they inserted; they name the roots they assert on now, which is the same handle production uses. Three findings the port surfaced, each a behaviour change rather than a test fix: - Cancelling a rebuild's head no longer drops the job. `Reconcile`'s edge accepts a skipped brace, and a cancel-cascade skips rather than cancels, so the tail stays claimable. Dropping a job means cancelling every id the insert returned. - A directly-cancelled group root reads terminal while a spared tail still runs; the cancel used to land on a node above it, which rolled up Finishing instead. - "One DAG per hive-wide op" is not expressible without a container. The three tests asserting it now assert that every named root is top-level, which is what makes the per-agent subgraphs concurrent. Deletes two tests: one asserted only that two containers get distinct ids, the other re-ran an existing case under a second name. `Source`, `insert_group` and the stop path's `reason` string went dead with the container and are removed with it.
This commit is contained in:
parent
aef7ead0bc
commit
ddc017f01b
6 changed files with 273 additions and 275 deletions
|
|
@ -840,16 +840,10 @@ async fn handle_stop(
|
|||
let mut errors: Vec<String> = Vec::new();
|
||||
let mut queued: Vec<u64> = Vec::new();
|
||||
|
||||
// One DAG for all targeted agents — a per-agent stop subgraph each
|
||||
// One insert for all targeted agents — a per-agent stop subgraph each
|
||||
// (`SetWanted(Offline) → [Signal → Drain →] Reconcile`), independent
|
||||
// roots that run concurrently on their own leases. A hive-wide
|
||||
// `hivectl stop` is now a single DAG, not N.
|
||||
// roots that run concurrently on their own leases.
|
||||
if !agents.is_empty() {
|
||||
let reason = if graceful {
|
||||
"manual via hivectl graceful stop"
|
||||
} else {
|
||||
"manual via hivectl stop"
|
||||
};
|
||||
match crate::job_queue::power::stop_many(coord, agents, graceful).await {
|
||||
Ok(ids) => {
|
||||
queued.extend(ids.into_iter().map(hive_jobq::NodeId::get));
|
||||
|
|
|
|||
Loading…
Reference in a new issue