-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Fix snappy/framed-snappy encoding/decoding #12911
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
Changes from all commits
3a20261
95b9eee
00b1875
43dc247
6673795
f852a02
69ded12
fddb53c
ee25bda
b520d58
f616157
34ba732
5aae0a4
2f855b2
590d018
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| # Use this changelog template to create an entry for release notes. | ||
|
|
||
| # One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' | ||
| change_type: bug_fix | ||
|
|
||
| # The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver) | ||
| component: confighttp and configcompression | ||
|
|
||
| # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). | ||
| note: "Fix handling of `snappy` content-encoding in a backwards-compatible way" | ||
|
|
||
| # One or more tracking issues or pull requests related to the change | ||
| issues: [10584, 12825] | ||
|
|
||
| # (Optional) One or more lines of additional information to render under the primary note. | ||
| # These lines will be padded with 2 spaces and then inserted directly into the document. | ||
| # Use pipe (|) for multiline entries. | ||
| subtext: | | ||
| The collector used the Snappy compression type of "framed" to handle the HTTP | ||
| content-encoding "snappy". However, this encoding is typically used to indicate | ||
| the "block" compression variant of "snappy". This change allows the collector to: | ||
| - When receiving a request with encoding 'snappy', the server endpoints will peek | ||
| at the first bytes of the payload to determine if it is "framed" or "block" snappy, | ||
| and will decompress accordingly. This is a backwards-compatible change. | ||
|
|
||
| If the feature-gate "confighttp.framedSnappy" is enabled, you'll see new behavior for both client and server: | ||
| - Client compression type "snappy" will now compress to the "block" variant of snappy | ||
| instead of "framed". Client compression type "x-snappy-framed" will now compress to the "framed" variant of snappy. | ||
| - Servers will accept both "snappy" and "x-snappy-framed" as valid content-encodings. | ||
|
Comment on lines
+26
to
+29
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think this is not clear about when gate is disabled (default).
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The first paragraph of the Subtext explains what happens when the gate is disabled. Could you suggest a better version of those paragraphs? |
||
|
|
||
| # Optional: The change log or logs in which this entry should be included. | ||
| # e.g. '[user]' or '[user, api]' | ||
| # Include 'user' if the change is relevant to end users. | ||
| # Include 'api' if there is a change to a library API. | ||
| # Default: '[user]' | ||
| change_logs: [user] | ||
Uh oh!
There was an error while loading. Please reload this page.