The GitHub Actions job "Tests (AMD)" on 
airflow.git/feature/variable-interval-resolution has failed.
Run started by GitHub user seanghaeli (triggered by seanghaeli).

Head commit for run:
56b2666a295e5072b986325af8ad6283d90cb579 / Sean Ghaeli <[email protected]>
Resolve VariableInterval deadlines safely at DagRun creation

A ``DeadlineAlert`` configured with a ``VariableInterval`` is resolved when the
scheduler creates a DagRun, inside ``DAG._process_dagrun_deadline_alerts`` 
(which
runs under the ``prohibit_commit`` guard). Two problems are fixed:

1. Resolution now goes through the full secrets chain (env vars, configured
   secrets backends, then the metadata DB) via a dedicated
   ``_resolve_variable_interval`` helper, rather than ``Variable.get`` /
   ``begin_nested``. ``Variable.get`` and a SAVEPOINT release both commit on the
   scheduler's session, tripping ``prohibit_commit`` ("UNEXPECTED COMMIT") and
   silently dropping deadlines for every scheduled DagRun. The helper passes the
   scheduler session through to the metastore backend so the DB read happens
   without committing, and reading via the secrets chain (not the variable table
   directly) means ``AIRFLOW_VAR_*`` env vars and secrets backends resolve too.

2. Each deadline alert is isolated with a plain ``try``/``except`` (NOT
   ``begin_nested``). Creating a deadline is auxiliary to creating the DagRun; a
   single bad alert -- a missing/invalid backing Variable, or an undecodable
   serialized blob -- must never abort the DagRun and stop the DAG scheduling.

``VariableInterval.resolve`` is split into ``resolve`` + ``coerce_to_timedelta``
so the scheduler-side reader reuses the exact same validation (including the
OverflowError -> ValueError translation) without going through ``Variable.get``.

Generated-by: Claude Code (Sonnet/Opus via Claude Code) on behalf of Sean Ghaeli

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

With regards,
GitHub Actions via GitBox


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

Reply via email to