apache/airflow

Changelog omits important change to `dag.test()` behavior in 2.7.0

Open

#34 490 ouverte le 19 sept. 2023

Voir sur GitHub
 (5 commentaires) (0 réactions) (0 assignés)Python (16 781 forks)batch import
good first issuekind:documentation

Métriques du dépôt

Stars
 (44 809 stars)
Métriques de merge PR
 (Merge moyen 7j 18h) (834 PRs mergées en 30 j)

Description

What do you see as an issue?

See my comment https://github.com/apache/airflow/pull/32820#issuecomment-1714093966:

This PR appears to have unintentionally(?), or at least without being documented in the changelog, changed the way dag.test() handles exceptions. (See this line for example – https://github.com/apache/airflow/pull/32820/files#diff-62c8e300ee91e0d59f81e0ea5d30834f04db71ae74f2e155a10b51056b00b59bR2677 – dag.test() now returns a DagRun not None.)

This might actually help with writing unit tests for exceptions in DAGs – https://github.com/apache/airflow/discussions/32831 – I'm exploring that now.

Can this be added retroactively to the changelog for clarity?

I did explore the impact on https://github.com/apache/airflow/discussions/32831, and it's positive: I can now test a DAG in which a task fails, but other tasks continue – either because of their trigger rules, or because of parallel mapped task groups. Previously we had to use DebugExecutor for this, and it was very slow. This is a good change, and a significant one, and it should be documented in the changelog.

Solving the problem

Describe the perhaps-unintentional(?) effects of https://github.com/apache/airflow/pull/32820 on dag.test() and specifically on testing DAG runs with failing tasks.

Anything else

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Guide contributeur