utils: fix process races when killing processes #5721
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Jira
Description
airflow.utils.helpers.reap_process_group() can throw uncaught OSErrors
if processes exit at the wrong time in its execution. Fix this by
catching all OSErrors that can arise due to a process race, and
returning from them when the error is ESRCH (process not found).
Traceback from a production system can be found in the JIRA above.
Tests
this functionality is already tested in
tests.utils.test_helpers
; reproducibly testing for additional cases in a process race can only be done with substantially more complicated tests.Commits
Documentation
No new functionality, so no new docs.
Code Quality
flake8