-
Notifications
You must be signed in to change notification settings - Fork 169
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
b/177252401: Add integration test for bug in transcoding (#459)
### Overview Original analysis is here: go/espv2-backend-retry-analysis Add an integration test to confirm and document the bug. Fix should be in upstream envoy's gRPC transcoder filter (and/or the transcoding library). ### Context If a HTTP client sends unexpected query params, the transcoder does not handle them correctly. It returns the following error: ``` {"code":503,"message":"upstream connect error or disconnect/reset before headers. reset reason: remote reset"} ``` This is not good, it results in ESPv2 retrying the request and wastes time on the critical path. There is no easy way to configure Envoy to ignore this error specifically. This error is considered a **reset**, which we should retry on in general. Ref: [Documentation](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on) on different retry triggers in Envoy. Instead, the transcoder should return a HTTP 400 Bad Request for the invalid query param. This will prevent the unnecessary retry and be the correct behavior clients expect. Signed-off-by: Teju Nareddy <[email protected]>
- Loading branch information
Showing
2 changed files
with
23 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters