The GitHub Actions job "Tests" on 
airflow.git/fix/execution-timeout-supervisor-enforcement has failed.
Run started by GitHub user qwe-kev (triggered by potiuk).

Head commit for run:
8c758315871413d32bba9534ff4f7aeba41188e1 / kevin raymond <[email protected]>
Handle task timeouts (execution_timeout) at supervisor

closes: #53337
related: #57174

This PR implements proper execution timeout handling for Airflow 3.0 by
moving timeout enforcement from the task process to the supervisor process.

Previously, execution_timeout was handled inside the task process using a
timeout decorator. This approach failed when:
- Task process encountered SIGSEGV or other signals (#57174)
- Native code ran in tight loops without handling Python signals
- Process was killed before timeout could be enforced

Changes:
- Added TaskExecutionTimeout message for worker-to-supervisor communication
- Supervisor monitors execution time and enforces timeout with SIGTERM/SIGKILL
- Removed in-process timeout decorator from task execution
- Timeout measurement starts after DAG parsing (excludes startup overhead)

Implementation:
1. Worker sends timeout_seconds to supervisor after DAG parsing
2. Supervisor tracks elapsed time using monotonic clock
3. On timeout: sends SIGTERM, then SIGKILL after 5-second grace period

This ensures reliable timeout enforcement at the supervisor level,
preventing runaway tasks even when the task process encounters errors.

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

With regards,
GitHub Actions via GitBox


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

Reply via email to