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]
