pub enum CancelledRecord {
SignaledInFlight {
task: TaskId,
exit_status: ExitStatus,
stdout_hash: [u8; 32],
stderr_hash: [u8; 32],
},
UpstreamCancelled {
task: TaskId,
upstream: TaskId,
},
RunCancelled {
task: TaskId,
},
}Expand description
Record of a task that ended in the executor-initiated
cancelled state per EXEC-009 / EXEC-013.
The three variants distinguish the three structural shapes a cancellation can take in the run-graph view:
Self::SignaledInFlightis the only shape a single-task spawn-step future can produce: the cancellation token fired while the child was running, and the executor sent SIGTERM (and possibly SIGKILL afterEXEC-014’s grace period).Self::UpstreamCancelledis the cascade counterpart toSkipCause::UpstreamFailed: a hard descendant of a cancelled task is itself cancelled.upstreamcarries the root cancelled task, not the immediate hard predecessor (same root-cause attribution asSkipRecord).Self::RunCancelledcovers tasks that were still instate.ready(or whose lookup-step was in flight) when the scheduler observed the cancellation signal and drained the admission front. These tasks never made it to the spawn step; no process was started or signalled.
Variants§
SignaledInFlight
The task was admitted, spawned, and signalled by the
executor in response to the cancellation token firing.
exit_status records the child’s exit (typically
signal-terminated, but a polite child may exit cleanly
after SIGTERM); the captured stream hashes are present
for diagnostic purposes even though EXEC-015 blocks
the cache store.
Fields
exit_status: ExitStatusThe child’s exit status after the signal flow ran to completion.
UpstreamCancelled
The task was cascade-cancelled because a transitively-
upstream task entered the cancelled state. Mirrors
SkipCause::UpstreamFailed for the cancellation flow.
Fields
RunCancelled
The task was in state.ready (or its lookup-step was in
flight) when the scheduler observed the cancellation
signal. No process was spawned; the task simply never
entered the spawn-step pipeline.
Implementations§
Trait Implementations§
Source§impl Clone for CancelledRecord
impl Clone for CancelledRecord
Source§fn clone(&self) -> CancelledRecord
fn clone(&self) -> CancelledRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CancelledRecord
impl Debug for CancelledRecord
Source§impl PartialEq for CancelledRecord
impl PartialEq for CancelledRecord
Source§fn eq(&self, other: &CancelledRecord) -> bool
fn eq(&self, other: &CancelledRecord) -> bool
self and other values to be equal, and is used by ==.