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

   When OpenTelemetry tracing is enabled, `TracerProvider` registers an 
`after_in_child` fork hook that refreshes process-dependent resource attributes 
using a `ThreadPoolExecutor`. In forked child processes (such as 
`LocalExecutor` workers and Dag file processor parsing children), creating or 
submitting tasks to a `ThreadPoolExecutor` deadlocks on inherited locks held by 
threads that no longer exist in the child. Consequently, workers never begin 
execution and Dag parsing processes hang until killed by timeout.
   
   This PR introduces `_ForkSafeTracerProvider(TracerProvider)` which overrides 
`_handle_fork()` to refresh only `_tracers_lock` and bypass process-dependent 
resource detection. This allows forked child processes to return cleanly from 
`os.fork()`.
   
   closes: #73583
   


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