tomron opened a new pull request, #74755: URL: https://github.com/apache/airflow/pull/74755
closes: #74716 A `@task.stub` task's `execution_timeout` is serialized with the Dag, but the runtime never got it. `TIRunContext` had no field for it, and only the Python task runner sends `SetExecutionTimeout`, which stub tasks skip. So a Go, Java or TypeScript task ran past its timeout. What changed: - `TIRunContext` gets `execution_timeout` (seconds). `ti_run` sets it only for stub tasks that have a timeout. - `ActivitySubprocess` arms its existing deadline from that value when it starts the runtime, the same way `SetExecutionTimeout` does. An overrunning task gets SIGTERM, then SIGKILL, after `killed_task_cleanup_time`. - The field is added to the Execution API and the supervisor schema at the in-progress 2026-10-30 version, with downgrade for older clients. Go and TypeScript generated models and vendored schemas are updated. - Python tasks are unchanged. Not covered: the runtimes do not enforce the timeout themselves (for example Go context cancel), see #74717. I did not run the Go repro end to end. Tests: Execution API head and backward-compat tests, supervisor startup test, supervisor schema migrator test. ##### Was generative AI tooling used to co-author this PR? - [X] Yes (please specify the tool below) Generated-by: an LLM-based AI coding assistant, reviewed and tested by me, 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]
