atenet-router: raise actor-cluster circuit breakers - #806
atenet-router: raise actor-cluster circuit breakers#806Chuang Wang (chuangw6) wants to merge 1 commit into
Conversation
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
d98eeca to
5cfc492
Compare
3c308a7 to
d9139a5
Compare
Bowei Du (bowei)
left a comment
There was a problem hiding this comment.
I see you added new limits and constants -- but how do we expect it to behave for people who install it on a smaller machine than you are giving space for?
|
|
Ok, let's remove the config that won't be needed in version 37 and we should be good with this PR |
2a93a40 to
363c405
Compare
363c405 to
f70a5d1
Compare
| t.Errorf("max_requests after SetExtProcMaxRequests(0) = %d, want default %d", got, defaultExtProcMaxRequests) | ||
| } | ||
| }) | ||
|
|
There was a problem hiding this comment.
remove these test -- this is overkill
There was a problem hiding this comment.
Done — removed both added tests; the change ships with no test diff.
f70a5d1 to
31a6e53
Compare
31a6e53 to
4681572
Compare
The actor cluster configured no breakers, leaving Envoy's 1,024 default, which caps concurrent requests through the router far below what it can carry. Connections, pending and requests rise to 20,000, kept under the ~28k source-port budget so overload trips a counted breaker instead of the kernel's opaque EADDRNOTAVAIL; max_retries keeps its default since nothing here retries. The ext_proc breaker now applies its ceiling to max_pending_requests as well as max_requests.
4681572 to
a7b1ade
Compare
|
Get the tests to pass |
The actor cluster configured no circuit breakers, leaving Envoy's 1,024 default — a low ceiling for the one proxy carrying every actor's ingress. Under overload it surfaces as storms of instant 503s once concurrency crosses 1,024.
max_connections,max_pending_requestsandmax_requestsrise to 20,000, kept under the ~28k ephemeral-port budget so overload trips a counted breaker instead of the kernel's opaqueEADDRNOTAVAIL.max_retrieskeeps Envoy's default — nothing on this cluster retries.--extproc-max-requestsceiling now coversmax_pending_requestsas well asmax_requests.Tested with
go test ./cmd/atenet/internal/router/.