ghostbody edited a comment on issue #10790: URL: https://github.com/apache/airflow/issues/10790#issuecomment-1011812804
we reviewed the code and found that in `local_task_job.py`, the parent process has a `heatbeat_callback`, and will check the state and child process return code of the `task_instance`. However, theses lines may cover a bug? ![image](https://user-images.githubusercontent.com/8371330/149270821-45da67da-186e-409b-8f3e-072fe8e0491c.png) ![image](https://user-images.githubusercontent.com/8371330/149271933-4ae6c8d1-defc-45c6-ba21-89a46016c3d2.png) **The raw task command write back the taskintance's state(like sucess) doesn't mean the child process is finished(returned)?** So, in this heatbeat callback, there maybe a race condition when task state is filled back while the child process is not returned. In this senario, the local task will kill the child process by mistake. And then, the scheduler will checkout this and report "task instance X finished (success) although the task says its queued. Was the task killed externally?" -- 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: commits-unsubscr...@airflow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org