potiuk commented on a change in pull request #22685:
URL: https://github.com/apache/airflow/pull/22685#discussion_r841108675
##########
File path: airflow/dag_processing/processor.py
##########
@@ -231,6 +232,10 @@ def _kill_process(self) -> None:
if self._process.is_alive() and self._process.pid:
self.log.warning("Killing DAGFileProcessorProcess (PID=%d)",
self._process.pid)
os.kill(self._process.pid, signal.SIGKILL)
+
+ # Reap the spawned zombie
Review comment:
BTW - one more thought. I actually had - not too often, but at least few
times in my life (hardware problem) - where sigkill did not actually work and
process was running indefinitely (even though sig kill is esentially the
"should always work" case). But maybe some "what-if" discussion might be useful
(XKCD reference accidental).
Should we handle this case? Also what happnes if (this is unlikely because
we started the process) if we have no permission to send sigkill to the
process? Not sure about scenario that can lead to it (changing effecitve group
of the user? . Do you think we should handle it?
This is a bit of "academic" discussion, but if we are going so deeply that
we are active-waiting for the sigkilled process, I thought we might at least
spend a bit of time on pondering on various super-edge cases :)
--
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]