Repository navigation
fix(jaeger): accept URL-encoded uber-trace-id header on extract - #5793
Merged
herin049 merged 4 commits intoOct 26, 2026
Merged
Conversation
Pull request dashboard statusMerged · refreshed 2026-10-26 20:41 UTC Status above doesn't look right?
|
herin049
approved these changes
Oct 18, 2026
This comment has been minimized.
This comment has been minimized.
Some Jaeger clients URL-encode the uber-trace-id value, turning the ':' delimiter into '%3A'. The Java and .NET Jaeger propagators decode such values, but the Python propagator rejected them and dropped the trace context. Decode the header when no plain delimiter is present.
LemonCondor
force-pushed
the
fix/jaeger-encoded-trace-id
branch
from
October 25, 2026 18:35
5c23ca7 to
7596bfd
Compare
herin049
approved these changes
Oct 26, 2026
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The narrowly scoped fix preserves plain-header parsing, includes a focused regression test, and has no identified blocking issues.
No open issues 🎉
What changed in this PR
This PR fixes Jaeger context extraction for URL-encoded uber-trace-id headers, improving compatibility with other OpenTelemetry implementations while preserving plain-header parsing.
Changes:
- Decode URL-encoded headers when no literal colon delimiter is present.
- Add a regression test verifying extraction of trace and span IDs.
- Document the fix in the changelog.
| File | Description |
|---|---|
| propagator/opentelemetry-propagator-jaeger/tests/test_jaeger_propagator.py | Adds coverage for URL-encoded header separators. |
| propagator/opentelemetry-propagator-jaeger/src/opentelemetry/propagators/jaeger/__init__.py | Decodes encoded headers before parsing their fields. |
| .changelog/5793.fixed | Records the Jaeger extraction fix. |
Review effort: Balanced
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
In OpenTelemetry, a
uber-trace-idheader whose separators are URL-encoded (%3A) was rejected, unlike the behaviour already supported by the Java and .NET implementations. I fixed the decoding to keep them compatible and added a regression test.Type of change
Checklist:
tox -e precommittox -e typecheck