Skip to content

Conversation

@KBaichoo
Copy link
Contributor

@KBaichoo KBaichoo commented Nov 26, 2025

Commit Message: Add the ability to selectively remove huffman encoding headers as the sender for a given hop.
Additional Description: This is just #38270 without the wonked git history from being an old PR.
Risk Level: low (off by default)
Testing: Unit test, Running in Prod
Docs Changes: n/a
Release Notes: included
Platform Specific Features: n/a
Fixes: #38025

@repokitteh-read-only repokitteh-read-only bot added api deps Approval required for changes to Envoy's external dependencies labels Nov 26, 2025
@repokitteh-read-only
Copy link

CC @envoyproxy/api-shepherds: Your approval is needed for changes made to (api/envoy/|docs/root/api-docs/).
envoyproxy/api-shepherds assignee is @markdroth
CC @envoyproxy/api-watchers: FYI only for changes made to (api/envoy/|docs/root/api-docs/).
CC @envoyproxy/dependency-shepherds: Your approval is needed for changes made to (bazel/.*repos.*\.bzl)|(bazel/dependency_imports\.bzl)|(api/bazel/.*\.bzl)|(.*/requirements\.txt)|(.*\.patch).
envoyproxy/dependency-shepherds assignee is @moderation

🐱

Caused by: #42263 was opened by KBaichoo.

see: more, trace.

@adisuissa
Copy link
Contributor

Assigning @RyanTheOptimist as a reviewer (legacy from #38270). Feel free to reassign if needed.
/assign @RyanTheOptimist

@moderation
Copy link
Contributor

Dependency change is the addition of a patch. Requires API review too

/lgtm deps

@repokitteh-read-only repokitteh-read-only bot removed the deps Approval required for changes to Envoy's external dependencies label Nov 27, 2025
// Disables encoding the headers using huffman encoding.
// This can be useful in cases where the cpu spent encoding the headers isn't
// worth the network bandwidth saved e.g. for localhost.
bool disable_huffman = 18;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: consider naming this disable_huffman_encoding because, aiui, this does not disable huffman decoding, right?

if (http2_options.has_hpack_table_size() && http2_options.hpack_table_size().value() == 0) {
og_options_.compression_option = http2::adapter::OgHttp2Session::Options::DISABLE_HUFFMAN;
} else {
og_options_.compression_option = http2::adapter::OgHttp2Session::Options::DISABLE_COMPRESSION;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this reversed? I would this we would disable compression when the table size is 0?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Performance: Add the option to disable huffman encoding for HTTP2 in certain scenarios.

5 participants