You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Jarek Potiuk (JIRA)" <ji...@apache.org> on 2019/04/30 11:36:00 UTC
[jira] [Commented] (AIRFLOW-4440) Avoid terminating processes using
shared resources
[ https://issues.apache.org/jira/browse/AIRFLOW-4440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16830207#comment-16830207 ]
Jarek Potiuk commented on AIRFLOW-4440:
---------------------------------------
CC: [~ash]
> Avoid terminating processes using shared resources
> --------------------------------------------------
>
> Key: AIRFLOW-4440
> URL: https://issues.apache.org/jira/browse/AIRFLOW-4440
> Project: Apache Airflow
> Issue Type: Bug
> Reporter: Jarek Potiuk
> Priority: Major
>
> According to [https://docs.python.org/3.5/library/multiprocessing.html#programming-guidelines] we should avoid terminating processes when shared resources (Locks, Queues etc. are used)
> We are using terminate() in a few places in the code and we should replace it with more graceful way of stopping the processes (sending poison pills) - see the last example in [https://docs.python.org/3.5/library/multiprocessing.html|https://docs.python.org/3.5/library/multiprocessing.html#programming-guidelines] where 'STOP' is sent to shutdown the process.
> This also prevents graceful joins in a number of cases - for example in
> DagFileProcessorAgent.end() where we had to comment it out until this problem is solved.
>
> We should review and remove all terminates() unless they are absolutely necessary and replae them with more graceful mechanism of shutting down.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)