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]
