watchdog_recovered
def watchdog_recovered(mut db: State) Resolves the watchdog alerts whose trips were acknowledged or whose pipelines were unpaused.
orca.alertsWhat the scheduler raises alerts about (orca.notify, #184), each decided where the data is and sent through orca.notify.alert:
| Kind | Subject | Priority | When |
|---|---|---|---|
watchdog |
the rule | high | a rule tripped (sent from orca.watchdog.trip); resolved, low, when no unacknowledged trip of it has a pipeline still paused |
run-failed |
run and start | default | a run failed with no retry left (failed_runs), once per run |
fill-stalled |
the pipeline | high | fill: no fill run finished in ORCA_NOTIFY_FILL_STALL_HOURS (2) while the pipeline is unpaused, inside its window and not done; resolved when one finishes |
disk |
the mount | high | disk: the control host's fullest disk is over ORCA_NOTIFY_DISK_PERCENT (85); resolved when it isn't |
worker-lost |
worker and last seen | default | lost_workers: a worker that last said it was running runs, quiet for ORCA_NOTIFY_WORKER_SECONDS (300), once per loss |
backup-failed |
nightly |
high | orca notify --kind backup-failed ..., from orca-stack's backup |
The text is plain and short: names, numbers and the first line of an error, never a secret.
watchdog_recovereddef watchdog_recovered(mut db: State) Resolves the watchdog alerts whose trips were acknowledged or whose pipelines were unpaused.
failed_runsdef failed_runs(mut db: State, pipeline: String, run_retries: Int, retried_sql: String) -> Int Alerts for pipeline's runs that failed in the last hour with no retry left: past run_retries starts, or of a trigger the scheduler doesn't retry (retried_sql), or not started for their code. Once per run and start. Returns how many were raised.
filldef fill(mut db: State, pipeline: String, s: FillStatus, paused: Bool, in_window: Bool) Raises 'fill stalled' when no fill run of pipeline finished in ORCA_NOTIFY_FILL_STALL_HOURS (2) although it is unpaused, inside its window and not done; resolves it once one finishes.
diskdef disk(mut db: State) Raises 'disk' when the control host's fullest disk, from the /system sampler, is over ORCA_NOTIFY_DISK_PERCENT (85); resolves it when not.
lost_workersdef lost_workers(mut db: State) -> Int Alerts for the workers (orca.workers) that last said they were running runs and haven't been heard from for ORCA_NOTIFY_WORKER_SECONDS (300), once per loss. Their runs are requeued when their heartbeats go stale (orca.scheduler). Returns how many were raised.