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]

Reply via email to