envoyproxy/envoy

subset lb: support customized response code when using NO_FALLBACK

Open

#11.983 geöffnet am 9. Juli 2020

Auf GitHub ansehen
 (1 Kommentar) (0 Reaktionen) (0 zugewiesene Personen)C++ (5.373 Forks)batch import
area/load balancingdesign proposalhelp wanted

Repository-Metriken

Stars
 (27.997 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 8T) (378 gemergte PRs in 30 T)

Beschreibung

We have a use case for the subset LB in which we'd like to return a 404 when there is no metadata/subset match. Right now, a 503 (no healthy hosts) response is the only possible response:

https://github.com/envoyproxy/envoy/blob/master/api/envoy/config/cluster/v3/cluster.proto#L206

We could make this knob something specific to the subset LB; or we could make it something generic for all LBs similar to ClusterNotFoundResponseCode (e.g.: EndpointNotFoundResponseCode):

https://github.com/envoyproxy/envoy/blob/master/api/envoy/config/route/v3/route_components.proto#L794

Thoughts?

cc: @zuercher @fishcakez @janephilipps @mattklein123

Contributor Guide