Andrushika opened a new pull request, #74571:
URL: https://github.com/apache/airflow/pull/74571

   ## Why
   
   Follow-up of #73806. That PR lets the task supervisor stop a task process 
that runs past `execution_timeout`, but the deadline is only armed right before 
`execute()`. 
   
   Before that, the task process parses the Dag file under its own 
`dagbag_import_timeout` alarm. That alarm is the same SIGALRM handler, so it 
never fires when the import is stuck in native code, and nothing outside the 
process watches this window.
   
   ## What
   
   Following the `SetTimeout(0)` suggestion in #73806, the task process now 
sends `SetExecutionTimeout` with the file's `dagbag_import_timeout` before 
parsing a plain Python Dag file, and `SetExecutionTimeout(0)` right after. `0` 
now clears the supervisor deadline. The value comes from the 
`get_dagbag_import_timeout` cluster policy with the same file path the importer 
uses, so a file the policy gives more time is not stopped early, and nothing is 
sent when the policy disables the timeout.
   
   Zipped Dags are not armed. Each member is imported under its own timeout, so 
one deadline for the whole archive could be too short.
   
   related: #73806
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Opus 5.5)
   
   Generated-by: Claude Code (Opus 5.5) 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