potiuk opened a new pull request, #74288:
URL: https://github.com/apache/airflow/pull/74288

   `test_the_runtime_inherits_only_its_standard_streams[fork]` read the 
runtime's open descriptors as soon as `psutil` reported the process name 
`sleep`. The kernel renames a process during `execve`, before the dynamic 
loader opens and closes the shared libraries it loads on the lowest free 
descriptor, so the test can catch a short-lived fd 3 and fail although nothing 
was inherited. It failed this way in 
https://github.com/apache/airflow/actions/runs/37348004406/job/111896084460 
(`['0', '1', '2', '3']`) and passed in the other runs of that job around the 
same time.
   
   The test now waits up to five seconds for the descriptor set to settle 
before asserting. A descriptor inherited from the Dag processor is never closed 
by `sleep`, so a real leak still fails the test, and the assertion message now 
shows what each descriptor points to, which the old failure did not.
   
   I could not reproduce the race locally (the test needs `/proc`); the 
explanation fits the evidence: only the fast `fork` variant failed, and the 
real exec path marks every descriptor above 2 close-on-exec before `exec`. 
`ruff` and `prek` pass on the changed file.
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Claude Opus 5)
   
   Generated-by: Claude Code (Claude Opus 5) following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
   


-- 
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]

Reply via email to