hyperhive/hive-c0re/src/job_queue
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 36918e0432 fix(#2756): a cancelled DAG must not read back as Queued
Review catch from argus on #2770: with the terminal hook gone, cancel
spares the DAG's tail node so it can report the cancellation — which
leaves that node `Pending` until the scheduler's next pass.
`post_rebuild_queue_cancel` emits its snapshot synchronously, and
`rollup_state` ranked `Queued` above `Cancelled`, so the operator who
just cancelled a DAG saw it go back to **Queued**: "the cancel didn't
take". Asserted in `cancel_clears_queued_dag`, which failed before this.

Fixing it surfaced an older disagreement. `builds.js::rollupState` has
always been `failed > cancelled > running > queued`; the Rust was
`failed > running > queued > cancelled`. The two had silently diverged
under a doc-comment claiming they agree. Harmless until now only because
cancelled nodes never coexisted with live ones — a spared tail running
over cancelled work would have rendered `Running` host-side and
`Cancelled` in the dashboard.

The JS was the correct side, so the Rust moves to match it exactly:
`Failed > Cancelled > Running > Queued > Done`. No frontend change.
2026-07-27 15:06:27 +02:00
..
exec.rs refactor(#2756): replace the DAG terminal hook with real tail nodes 2026-07-27 15:06:27 +02:00
mod.rs refactor(#2756): replace the DAG terminal hook with real tail nodes 2026-07-27 15:06:27 +02:00
model.rs refactor(#2756): replace the DAG terminal hook with real tail nodes 2026-07-27 15:06:27 +02:00
resource.rs feat(job-queue): promote the meta-repo deploy window to a queue resource 2026-07-25 21:20:56 +02:00
scheduler.rs refactor(#2756): replace the DAG terminal hook with real tail nodes 2026-07-27 15:06:27 +02:00
submit.rs refactor(#2756): replace the DAG terminal hook with real tail nodes 2026-07-27 15:06:27 +02:00
templates.rs refactor(#2756): replace the DAG terminal hook with real tail nodes 2026-07-27 15:06:27 +02:00
tests.rs fix(#2756): a cancelled DAG must not read back as Queued 2026-07-27 15:06:27 +02:00