The GitHub Actions job "Tests (AMD)" on 
airflow.git/fix-trigger-dagrun-404-callbacks has succeeded.
Run started by GitHub user kaxil (triggered by kaxil).

Head commit for run:
569c5fbee96b09339cec2a18f40a46bd84971f2a / Kaxil Naik <[email protected]>
Fix task callbacks being skipped when TriggerDagRunOperator gets a 404

`run()` in the task runner had a single `try` with a flat list of `except`
clauses, and several of those handlers talk to the API server. When one of
them raised, Python did not offer the new exception to the sibling `except`
clauses, so it escaped `run()` entirely -- skipping both the retry decision
in `_handle_current_task_failed()` and the callbacks, listeners and failure
email in `finalize()`.

The reported path: triggering a Dag that does not exist returns 404, which
`DagRunOperations.trigger` re-raises (it only special-cases the 409 already
-exists case). The supervisor turns it into an `API_SERVER_ERROR` response
and `CommsDecoder._from_frame` raises `AirflowRuntimeError` -- from inside
`except DagRunTriggerException`, two lines above the clause that already
handles `AirflowRuntimeError`.

Wrap the handler chain in an outer `try` that routes such exceptions through
the normal failure path. This covers every handler that can raise, not just
the 404: `DownstreamTasksSkipped` sends `SkipDownstreamTasks`, and both
`_defer_task` and `_await_input_task` serialize user-supplied triggers.

Most of the diff is indentation; `git diff -w` shows the 11-line change.

Report URL: https://github.com/apache/airflow/actions/runs/30524079587

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to