Skip to content

Include B3 debug header in multi-header propagation fields - #8930

Merged
jack-berg merged 1 commit into
open-telemetry:mainfrom
kamikazeayoup:fix/b3-debug-propagation-fields
Oct 22, 2026
Merged

jack-berg merged 1 commit into
open-telemetry:mainfrom
kamikazeayoup:fix/b3-debug-propagation-fields

Conversation

@kamikazeayoup

@kamikazeayoup kamikazeayoup commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Problem

The B3 multi-header propagator injects X-B3-Flags for debug requests but omits it from fields().

The propagator documentation instructs callers to clear these fields before reusing a carrier. Because the debug header is missing from the list, it survives cleanup and can cause a subsequent unsampled request to be treated as sampled.

Changes

Add B3Propagator.DEBUG_HEADER to FIELDS so callers can clear it before reusing a carrier.

Update fieldsList_multiInject to include the debug header and add inject_ReusedCarrier_DoesNotRetainDebugFlag to verify that a reused carrier does not retain the previous request’s debug flag.

Validation

  • ./gradlew :extensions:trace-propagators:check passed locally.
  • ./gradlew nativeTest --no-configuration-cache --no-parallel passed locally with Oracle GraalVM 25.0.4+7.1, the same version used by CI.

The GraalVM 25 compilation error reported in CI did not reproduce in this local run.

@kamikazeayoup
kamikazeayoup requested a review from a team as a code owner October 11, 2026 22:43
@opentelemetry-pr-dashboard

opentelemetry-pr-dashboard Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Pull request dashboard status

Merged Β· refreshed 2026-10-22 13:42 UTC

Status above doesn't look right?
  • Anything look wrong? Report it with what you expected; it helps us improve the dashboard.

@codecov

codecov Bot commented Oct 11, 2026

Copy link
Copy Markdown

Codecov Report

βœ… All modified and coverable lines are covered by tests.
βœ… Project coverage is 90.65%. Comparing base (387f5c5) to head (1309335).

Additional details and impacted files
@@            Coverage Diff            @@
##               main    #8930   +/-   ##
=========================================
  Coverage     90.65%   90.65%           
  Complexity    10887    10887           
=========================================
  Files          1015     1015           
  Lines         29731    29732    +1     
  Branches       3876     3876           
=========================================
+ Hits          26953    26954    +1     
  Misses         1860     1860           
  Partials        918      918           

β˜” View full report in Codecov by Harness.
πŸ“’ Have feedback on the report? Share it here.

πŸš€ New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@opentelemetry-pr-dashboard

This comment has been minimized.

@kamikazeayoup

Copy link
Copy Markdown
Contributor Author

/dashboard route:reviewers

I investigated the failed GraalVM 25 check. Native compilation fails inside JUnit with β€œmismatch with existing registration.” As noted in the PR description, both the propagator checks and native tests passed locally with the same GraalVM version, and I couldn’t reproduce the CI failure.
Could a maintainer rerun the failed job?

@opentelemetry-pr-dashboard

Copy link
Copy Markdown

@kamikazeayoup, this pull request was routed to reviewers. The handoff remains active across pushes until newer actionable human feedback arrives. Top-level feedback through this request will not return; unresolved review threads remain open.

@jack-berg
jack-berg merged commit b36245e into open-telemetry:main Oct 22, 2026
54 of 56 checks passed
@otelbot

otelbot Bot commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

Thank you for your contribution @kamikazeayoup! πŸŽ‰ We would like to hear from you about your experience contributing to OpenTelemetry by taking a few minutes to fill out this survey.

@kamikazeayoup
kamikazeayoup deleted the fix/b3-debug-propagation-fields branch October 22, 2026 14:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants