Hi,
Based on our observations when one downstream client triggers the flow control mechanism (e.g. the client neglects to consume gRPC streams depleting the flow control window) other clients' streams on the the same shared upstream connection (i.e. connection pooling) also experience a pause in the flow of data. This pause can be indefinite if there are no timeouts configured and the bad client keeps the unconsumed streams opened.
Does Envoy provide flow control timeouts that would terminate any streams that triggered it. If not, what other settings / mechanisms could we use to prevent a bad client from affecting a shared upstream connection like this. We are aware that there are per-stream timeout settings, but unfortunately we have event-based gRPC services that expect streaming RPCs to be idle (i.e. no events) for long periods of time.
Thanks in advance,
Rod