Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add support to configuring downstream idle timeout #2861

Closed
yaelSchechter opened this issue Mar 10, 2024 · 2 comments · Fixed by #3042 or #3056
Closed

feat: add support to configuring downstream idle timeout #2861

yaelSchechter opened this issue Mar 10, 2024 · 2 comments · Fixed by #3042 or #3056
Assignees
Labels
area/policy kind/enhancement New feature or request kind/feature new feature
Milestone

Comments

@yaelSchechter
Copy link
Contributor

yaelSchechter commented Mar 10, 2024

Description:
Add idleTimeout to clientTrafficPolicy.

Currently, the downstream-connection idle timeout is fixed at one hour, unless it is less than the request timeout.
I propose adding an idleTimeout parameter to the clientTrafficPolicy configuration. This parameter would allow users to specify the duration of the downstream-connection idle timeout according to their specific requirements.

Rationale:

  1. Prevention of Load Balancer Issues: When running a proxy in an IaaS, the load balancer of that IaaS might have an idle timeout configured (e.g., GCP with an idle timeout of 600 seconds: documentation).
    If the idle timeout of the LB is reached, the LB closes the connection silently without notifying the proxy, causing following requests to fail. Having a configurable downstream idle timeout can prevent this issue by ensuring that Envoy's idle timeout aligns with or is shorter than the LB’s idle timeout.

  2. Saving Resources: Configuring the downstream idle timeout helps save resources by reducing the amount needed to maintain connections.

  3. Drain Process Optimization: In cases where Envoy needs to be drained, having a lower idle timeout enables faster termination of idle connections and speeding up the release of resources.

@yaelSchechter yaelSchechter changed the title Make downstream idleTimeout configurable Add support to configuring downstream idle timeout Mar 10, 2024
@yaelSchechter yaelSchechter changed the title Add support to configuring downstream idle timeout feat: add support to configuring downstream idle timeout Mar 10, 2024
@arkodg arkodg added kind/enhancement New feature or request area/policy kind/feature new feature and removed triage labels Mar 11, 2024
@arkodg arkodg added this to the Backlog milestone Mar 11, 2024
@guydc
Copy link
Contributor

guydc commented Mar 27, 2024

This items was discussed in the community meeting, and the setting can be added in the following location:

type ClientTimeout struct {

@yaelSchechter
Copy link
Contributor Author

Please assign me :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment