Comments (4)
Right now we only have a retry policy which includes all 5xx (all resets before headers result in a 5xx). We can definitely add a retry policy just for certain reset types (including REFUSED_STREAM):
https://github.com/lyft/envoy/blob/master/source/common/router/retry_state_impl.cc#L81
from envoy.
All 5xx seems a little dangerous? Internal Server Error & Gateway Timeout leave plenty of scope for the call to have had some effect on state.
from envoy.
We don't do any retries by default (mainly because of idempotency concerns per your point). The retry policies are configurable on a per route and per request basis. See here:
https://lyft.github.io/envoy/docs/configuration/http_filters/router_filter.html#x-envoy-retry-on
https://lyft.github.io/envoy/docs/configuration/http_conn_man/route_config/route.html#config-http-conn-man-route-table-route-retry
We do have many people who want the "5xx" policy since they know that the calls they are making are idempotent. At Lyft we also use the "connect-failure" policy almost everywhere since that is guaranteed to be idempotent.
It is very easy to add a new policy and we can definitely add one for a REFUSED_STREAM reset.
from envoy.
from envoy.
Related Issues (20)
- flake in UsesPreferredAddressDNAT
- Add remove_match to HeaderMutation that matches based on a StringMatcher HOT 2
- //test/integration:tcp_tunneling_integration_test flakes after custom inline header changes
- debs build flake HOT 1
- [ RUN ] IpAndHttpVersions/TcpTunnelingIntegrationTest.UpstreamHttpFiltersPauseAndResume/IPv4_Http3Downstream_HttpUpstreamHttpParserNghttp2NoDeferredProcessingLegacyWithUpstreamHttpFilters flake
- Any way to route specific traffic to a external proxy HOT 4
- Force tracing based on header matches HOT 5
- gcc 11 + -Wuninitialized build failure using do_ci.sh HOT 1
- Newer release available `com_github_maxmind_libmaxminddb`: 1.10.0 (current: 1.9.1)
- Newer release available `rules_rust`: 0.46.0 (current: 0.35.0) HOT 1
- Outlier_detection: config option - always_eject_atleast_one HOT 1
- Why can't Envoy log the Connection in header HOT 1
- Enabling HTTP 2 for upstream server, the response time of concurrent requests is forming a waterfall model adding up the time of other concurrent request HOT 3
- Support METADATA operator in header mutation
- Envoy is not terminating the TLS connection at listeners
- BEP uploads keep failing HOT 7
- mobile fetch client appears to function differently with oghttp2 vs nghttp2 HOT 3
- `failure_mode_allow=true` is not fully supported for the grpc authz server. HOT 2
- High memory usage when upstream service is down HOT 8
- Newer release available `rules_python`: 0.33.0 (current: 0.32.2) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from envoy.