envoyproxy/envoy

Lazy evaluation of compression decision in compressor_filter for http response w/o content-length

Open

#21.807 aberto em 21 de jun. de 2022

Ver no GitHub
 (4 comments) (0 reactions) (0 assignees)C++ (5.373 forks)batch import
area/compressionhelp wanted

Métricas do repositório

Stars
 (27.997 stars)
Métricas de merge de PR
 (Mesclagem média 8d) (378 fundiu PRs em 30d)

Description

If you are reporting any crash or any potential security issue, do not open an issue in this repo. Please report the issue via emailing envoy-security@googlegroups.com where the issue will be triaged appropriately.

Title: One line description Buffer response header in compressor_filter and perform compression decision when receiving first data frame (encode_data)

Description:

Describe the issue.

Snap leverages on compressor_filter to perform response compression for gRPC responses. gRPC server doesnt add content-length to response header that the compressor filter will compress small response payload as well , which causes some overhead in egress bandwidth.

What Snap does(already running in prod env) is to perform a lazy evaluation when receiving first data frame instead of buffering all data frames.

Snap want to seek some feedback from envoy community that

  1. this operation is feasible (Snap can create a draft PR to review later)
  2. upstream the change to envoy

[optional Relevant Links:]

Any extra documentation required to understand the issue.

Guia do colaborador