rjgoyln opened a new pull request, #70840: URL: https://github.com/apache/airflow/pull/70840
## Summary Airflow instantiated `TraceContextTextMapPropagator()` directly at every trace-context boundary instead of using the globally configured propagators. As a result, `OTEL_PROPAGATORS` had no effect inside Airflow: vendor propagators were ignored, `Baggage` was dropped across component boundaries, and worker-to-API-server propagation could fail when `tracecontext` was not configured. This replaces the hardcoded propagators with `opentelemetry.propagate`, matching the Execution API middleware and allowing Airflow to honor the configured propagation strategy consistently. ## Changes - Replaced all hardcoded `TraceContextTextMapPropagator()` usages with `propagate.inject` and `propagate.extract`. - Stopped filtering run-conf carriers to only `traceparent` and `tracestate`, allowing configured propagators to read and write their own fields. - Kept the bare-string `airflow/dagrun_parent_trace_context` shorthand pinned to the W3C propagator. The shorthand's value is defined as a W3C trace-context string, while the mapping form remains propagator-agnostic. - Added documentation for `OTEL_PROPAGATORS` and trace-context propagation. - Updated tests to verify baggage round-tripping and backward compatibility. - Added newsfragment: `airflow-core/newsfragments/70840.improvement.rst`. ## Compatibility No behavior changes are expected with the default `OTEL_PROPAGATORS=tracecontext,baggage`: carriers remain byte-identical unless baggage is present. Existing W3C carriers continue to extract correctly, and the documented bare-string `airflow/dagrun_parent_trace_context` shorthand remains supported regardless of the configured propagators. ## Scope Addresses **Issue 2** of #70388 only. Issues 1 and 3 remain separate. * Related: #70388 --- ##### Was generative AI tooling used to co-author this PR? <!-- If generative AI tooling has been used in the process of authoring this PR, please change below checkbox to `[X]` followed by the name of the tool, uncomment the "Generated-by". --> - [X] Yes (please specify the tool below) Generated-by: Claude Code (Opus 5) <!-- Generated-by: [Tool Name] following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) --> --- * Read the **[Pull Request Guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-guidelines)** for more information. Note: commit author/co-author name and email in commits become permanently public when merged. * For fundamental code changes, an Airflow Improvement Proposal ([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals)) is needed. * When adding dependency, check compliance with the [ASF 3rd Party License Policy](https://www.apache.org/legal/resolved.html#category-x). * For significant user-facing changes create newsfragment: `{pr_number}.significant.rst`, in [airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments). You can add this file in a follow-up commit after the PR is created so you know the PR number. <!-- pr-triage-fold: triaged=2026-08-13T12:55:40Z head=51a8c3d action=draft --> --- > [!IMPORTANT] > **🛠️ Maintainer triage note for @rjgoyln** · by `@potiuk` · 2026-08-13 12:55 UTC > > Helpful heads-up from the maintainers — please address before this PR can be reviewed: > - :x: **Merge conflicts**. See [docs](https://github.com/apache/airflow/blob/main/contributing-docs/10_working_with_git.rst). > > Full list of what we check: [Pull Request quality criteria](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-quality-criteria). > > **The ball is in your court** — you've been assigned to this PR. Fix the above, then mark it **Ready for review**. > > <sub>_Automated triage — may be imperfect; a maintainer takes the next look._</sub> <!-- /pr-triage-fold --> -- 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]
