seanghaeli opened a new issue, #76867:
URL: https://github.com/apache/airflow/issues/76867

   `cleanup_sockets_after_kill()` in the task SDK supervisor reads each log 
socket until it closes. If the killed process started a child that inherited 
its stdout and keeps writing, the socket never closes and the drain never ends. 
On main this hits the Dag processor: when a Dag file's parse starts such a 
child and the parse times out, the processor stops parsing for good, with a 
stale heartbeat and 100% CPU.
   
   Shutting down the read side of the sockets before draining fixes it, so the 
drain reads only what is already queued. That also makes it safe for the 
triggerer to drain its runner's sockets on stop, which today loses the runner's 
last lines (they are still in the socket when the watcher files are uploaded), 
as on main.
   


-- 
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