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

support backoff between retries in tcp_proxy #37709

Open
wants to merge 13 commits into
base: main
Choose a base branch
from

Merge branch 'main' into add_backoff_to_retrries_in_tcp_and_udp_proxy

96ef8db
Select commit
Loading
Failed to load commit list.
Open

support backoff between retries in tcp_proxy #37709

Merge branch 'main' into add_backoff_to_retrries_in_tcp_and_udp_proxy
96ef8db
Select commit
Loading
Failed to load commit list.
CI (Envoy) / Mobile/ASAN skipped Jan 9, 2025 in 0s

Check was skipped

This check was not triggered in this CI run

Details

Request (pr/37709/main@96ef8db)

IssaAbuKalbein @IssaAbuKalbein 96ef8db #37709 merge main@3a56fed

support backoff between retries in tcp_proxy

Commit Message: support backoff between retries in tcp_proxy
Additional Description: This feature also fixes a bug in the retry mechanism in tcp proxy in the following situation:

  1. We are tunneling TCP over HTTP.
  2. A new stream is created on existing upstream connection (multiplexing) and waiting for response headers.
  3. The upstream connection is closed.
  4. During the close process, all streams created on this connection will be reset.
  5. The tcp_proxy receives a callback on the stream reset.
  6. They retry to connect.
  7. The closed connection is picked as it is still in the connection pool (we are still in the process of the close).
  8. The new stream that is created on the second attempt will be reset immediately.
  9. The same process will happen (step 5 - step 8) until we reach the max_connect_attepts.
  10. This means that we are doing only one real attempt in this situation.

Risk Level: medium
Testing: unit tests, integration tests
Docs Changes: added
Release Notes: added

Environment

Request variables

Key Value
ref 7d51868
sha 96ef8db
pr 37709
base-sha 3a56fed
actor IssaAbuKalbein @IssaAbuKalbein
message support backoff between retries in tcp_proxy...
started 1736411430.29081
target-branch main
trusted false
Build image

Container image/s (as used in this CI run)

Key Value
default envoyproxy/envoy-build-ubuntu:d2be0c198feda0c607fa33209da01bf737ef373f
mobile envoyproxy/envoy-build-ubuntu:mobile-d2be0c198feda0c607fa33209da01bf737ef373f
Version

Envoy version (as used in this CI run)

Key Value
major 1
minor 33
patch 0
dev true