Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend wire encoding for baggage keys to support arbitrary strings #346

Closed
yurishkuro opened this issue Aug 18, 2017 · 1 comment
Closed
Labels
enhancement meta-issue An tracking issue that requires work in other repos

Comments

@yurishkuro
Copy link
Member

Early versions of OpenTracing specified a restriction on the available character set for baggage key such that the keys were safe for HTTP headers. This restriction has been subsequently lifted, but all Jaeger clients currently still rely on it by avoiding doing any sort of encoding of the baggage keys when appending them to uberctx- prefix.

The proposed solution is to introduce some sort of encoding that will have the following characteristics:

  • the encoded strings can be case-insensitive (because HTTP headers can change case randomly). In other words, we should be able to rely on decode(header) == decode(toLowerCase(header))
  • the snake-lower-case keys will be unchanged by the encoding for backwards compatibility with the current restriction: encode("snake-lower-case") == "snake-lower-case"
  • all other characters will be encoded in some way (e.g. url-encoded, but really need to do more research on what's most appropriate). In particular, the original strings will be case sensitive: encode("Snake-Lower-Case") != encode("snake-lower-case")
@yurishkuro
Copy link
Member Author

Per #3362, we're sunsetting Jaeger clients.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement meta-issue An tracking issue that requires work in other repos
Projects
None yet
Development

No branches or pull requests

2 participants