vatsrahul1001 opened a new pull request, #71146: URL: https://github.com/apache/airflow/pull/71146
Backport of #65738 to `v3-3-test`. Places the task-runner in its own process group (`os.setpgid(0, 0)` at fork + parent-side `setpgid(pid, pid)` mirror) so a heartbeat-409 kill reaches the whole subprocess tree via `os.killpg`, fixing orphaned subprocesses and the `_cleanup_open_sockets` selector crash. One conflict in `supervisor.py` — the `start()` docstring. v3-3-test still **restricts `use_exec` to `_subprocess_main`** (the `ValueError` guard is present), whereas main's version rehydrates any entry point. Resolved by keeping v3-3-test's `use_exec` restriction note and adding the new `:param new_process_group:` documentation, and dropping main's rehydration wording (which does not apply on this branch). The setpgid code, the `_signal_subprocess` own-group guard, and the tests applied cleanly. ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Claude Code (Opus 4.8) Generated-by: Claude Code (Opus 4.8) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) — cherry-pick backport with one docstring conflict resolution (documented above). -- 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]
