This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 5caec465d3d Stop the OpenLineage execution timeout test flaking on
busy CI runners (#74927)
5caec465d3d is described below
commit 5caec465d3d97a47936eca1fd217c8fec55b8703
Author: Jarek Potiuk <[email protected]>
AuthorDate: Sat Oct 17 20:19:59 2026 +0200
Stop the OpenLineage execution timeout test flaking on busy CI runners
(#74927)
The test gave the OpenLineage listener a 3-second execution_timeout and
expected the on-start event, which does no work of its own, to finish in
that time. On Airflow 2 the listener forks a process, extracts lineage
and writes the event file, and on a runner busy with a parallel provider
run that took longer than 3 seconds, so no events were written at all and
the Compat 2.11.1 job failed on unrelated PRs.
The test still checks that on-start is emitted and on-complete is killed,
now with enough headroom that load alone cannot fail it.
Generated-by: Claude Opus 5
---
.../openlineage/tests/unit/openlineage/plugins/test_execution.py | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git
a/providers/openlineage/tests/unit/openlineage/plugins/test_execution.py
b/providers/openlineage/tests/unit/openlineage/plugins/test_execution.py
index 42b9b9d0ef1..2b645a50888 100644
--- a/providers/openlineage/tests/unit/openlineage/plugins/test_execution.py
+++ b/providers/openlineage/tests/unit/openlineage/plugins/test_execution.py
@@ -144,15 +144,16 @@ with tempfile.TemporaryDirectory(prefix="venv") as
tmp_dir:
@conf_vars(
{
("openlineage", "transport"): f'{{"type": "file",
"log_file_path": "{listener_path}"}}',
- ("openlineage", "execution_timeout"): "3",
+ # Leaves "on-start" headroom on a loaded CI runner;
"on-complete" stalls 30s.
+ ("openlineage", "execution_timeout"): "8",
}
)
- def
test_short_stalled_task_extraction_with_low_execution_is_killed_by_ol_timeout(
+ def
test_long_stalled_task_extraction_with_low_execution_timeout_is_killed_by_ol_timeout(
self, listener_manager
):
self.setup_job(
- "execute_short_stall",
-
"test_short_stalled_task_extraction_with_low_execution_is_killed_by_ol_timeout",
+ "execute_long_stall",
+
"test_long_stalled_task_extraction_with_low_execution_timeout_is_killed_by_ol_timeout",
listener_manager,
)
events = get_sorted_events(tmp_dir)