Support thrift Header payload passthrough (#18296)
Framed was the only transport that supported payload passthrough. However the payload of Header transport is the same as Framed. Therefore its possible to also use payload passthrough with Header to Header, Framed to Header and Header to Framed. Therefore allow those extra three combinations and add integration tests. Note that in future if Header transforms become supported then passthroughData will need to undo any transforms. New metrics request_passthrough and response_passthrough are added to show when payload passthrough occurs. Note that previously response_success was always incremented when performing payload passthrough, and that is corrected to only occur when parsing the payload. This will enable payload passthrough for combinations of downstream/upstream transports that did not previously perform passthrough. If a private filter does not implement passthroughEnabled or passthroughData correctly, has enabled payload passthrough and is using Header to Header, Framed to Header or Header to Framed then the filter may have issues. Risk Level: Medium Testing: Extended existing integration tests and verified on local deployment. Docs Changes: Updated ThriftProxy proto docs. Release Notes: Minor behavior change. Platform Specific Features: N/A Signed-off-by: James Fish <jfish@pinterest.com> Mirrored from https://github.com/envoyproxy/envoy @ 0f31648808783b1057c78ff0c90721b81d32e19cpull/624/head
parent
db29a1c642
commit
24c2d561db
1 changed files with 2 additions and 2 deletions
Loading…
Reference in new issue