envoyproxy / envoy

Cloud-native high-performance edge/middle/service proxy
https://www.envoyproxy.io
Apache License 2.0
24.93k stars 4.8k forks source link

Add flow control for envoy-gRPC based sidestream callout #33319

Open tyxia opened 6 months ago

tyxia commented 6 months ago

Today, for call-out filter like ext_proc, there is no dedicated flow control mechanism on the envoy-gRPC based sidestream callout path.

For example, when either downstream client or upstream server is sending requests much faster than sidecar server can consume, it could overflow the side-stream server when the internal buffering (which implicitly introduce the flow control via watermarks) is removed. In those cases, flow control needs to be in place to handle watermark event and apply back pressure and trigger read-disable.

This FR is to track the work of adding flow control for Envoy-gRPC based side-stream callout path.

tyxia commented 6 months ago

/assign @tyxia

tyxia commented 6 months ago

The label probably should be changed to design proposal etc.

phlax commented 6 months ago

cc @gbrail @stevenzzzz @mattklein123 @htuch @yanavlasov

htuch commented 6 months ago

@tyxia please share public design document when ready (I know we have an internal one on this).

github-actions[bot] commented 5 months ago

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions.

github-actions[bot] commented 5 months ago

This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted" or "no stalebot". Thank you for your contributions.