The GitHub Actions job "Tests" on airflow.git has failed.
Run started by GitHub user potiuk (triggered by potiuk).

Head commit for run:
ac00547512f33b1222d699c7857108360d99b233 / Jarek Potiuk <[email protected]>
Replace daemon Thread in dev-mode of breeze start-airflow with forking (#31403)

* Replace daemon Thread in dev-mode of breeze start-airflow with forking

When you run the dev mode for Breeze start-airlfow the webpack to
compile the assets is run in the background and should be stopped
as soon as the main process leaves. This has been done via daemon
Thread, however it turns out that when daemon thread gets stopped
at exit, it is stopped pretty abruptly. Quoting

https://docs.python.org/3/library/threading.html ::

> Note Daemon threads are abruptly stopped at shutdown. Their resources
(such as open files, database transactions, etc.) may not be released
properly. If you want your threads to stop gracefully, make them
non-daemonic and use a suitable signalling mechanism such as an Event.

This also means that if the daemon threds starts a subprocess, the
thread is killed but the subprocess is not - the subprocess gets
orphaned and gets adopted by init process and continues running.

Tis PR replaces the mechanism with forking. Instead of running
thread, it will fork a new process that will run the compilation
(including starting the subprocess that runs it). It will also
change group for the started forked process to be the same as
the new pid, which creates a new process group and register
an atexit method to send TERM to all the processes belonging to
that grop, so even if the node process that runs compilation does
not propagate the TERM signal (it does not) to the webpack processes,
all the webpack processes share the same process group and get the
SIGTERM signal.

Fixes: #31384

* Update dev/breeze/src/airflow_breeze/utils/run_utils.py

Co-authored-by: Pierre Jeambrun <[email protected]>

---------

Co-authored-by: Pierre Jeambrun <[email protected]>

Report URL: https://github.com/apache/airflow/actions/runs/5023081632

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to