aaron-y-chen opened a new pull request, #76713: URL: https://github.com/apache/airflow/pull/76713
`openlineage_manual_state_dag` intermittently fails in the OpenLineage e2e compatibility tests against Airflow 3.0.6 because it requires events that this core version does not reliably emit. The failure occurred in both the [ARM job](https://github.com/apache/airflow/actions/runs/42515535374/job/128843158975) and the [AMD job](https://github.com/apache/airflow/actions/runs/42487484204/job/128758179801), including their automatic Dag retries. In Airflow 3.0.6, a task-instance PATCH with `include_upstream` or `include_downstream` updates multiple task instances, but [notifies listeners only for `tis[0]`](https://github.com/apache/airflow/blob/3.0.6/airflow-core/src/airflow/api_fastapi/core_api/routes/public/task_instances.py#L900). The query has no guaranteed ordering, so either the running `sleep_*` task or the unstarted `after_*` task receives the notification and emits its terminal event. The expected events already gate the corresponding `sleep_*` checks on Airflow 3.1, but require the `after_*` terminal events on every version. This makes the 3.0.6 result depend on which task the query returns first. [Airflow 3.1.0 notifies listeners for every updated task instance](https://github.com/apache/airflow/blob/3.1.0/airflow-core/src/airflow/api_fastapi/core_api/services/public/task_instances.py#L123). Add the existing `$since: "3.1"` version marker to the two remaining expectations: - COMPLETE for `openlineage_manual_state_dag_tasks__notrigger.after_downstream_success`. - FAIL for `openlineage_manual_state_dag_tasks__notrigger.after_upstream_failed`. The entire test Dag and both state-change scenarios still execute on Airflow 3.0.6; only these two event checks are skipped. Airflow 3.1 and later retain all existing checks, and the assertions that the unstarted tasks emit no START events remain enabled on every version. The Dag's docstring documents the core limitation and the reason for the version boundary. Validation: `git diff --cached --check` passed. Parsing and comparing the staged event templates confirmed that 3.0.6 drops exactly these two expectations, while the effective templates for 3.1.0, 3.1.8 and 3.4.0 are unchanged. End-to-end tests have not been run locally; the Airflow 3.0.6 compatibility job still needs to validate the change. --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Codex (GPT-6) Generated-by: Codex (GPT-6) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
