Does Envoy trigger 503 errors when the rate limit service returns an empty allow list?
0 reputation · 03 Feb 2021, 12:02 UTC
When implementing a rate-limiting strategy in Envoy (v1.25+), the rate_limit filter communicates with an external gRPC service to determine if a request should be permitted. To facilitate integration testing without production credentials, a mock service can be used to simulate these decisions.
A specific concern arises during high QPS scenarios when the rate limit service responds with a 200 OK status but provides an empty allow list. There is uncertainty regarding whether Envoy interprets this empty response as a successful "allow" or if it triggers a failure state.
If the service returns an empty list under heavy load, does Envoy default to passing the traffic, or does it result in intermittent 503 Service Unavailable errors? How does this behavior differ from a scenario where the service is completely unreachable?