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]
