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 udp_proxy #37912

Conversation

IssaAbuKalbein
Copy link
Contributor

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

  1. We are tunneling UDP 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 udp_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

Signed-off-by: Issa Abu Kalbein <[email protected]>
Copy link

CC @envoyproxy/api-shepherds: Your approval is needed for changes made to (api/envoy/|docs/root/api-docs/).
envoyproxy/api-shepherds assignee is @mattklein123
CC @envoyproxy/api-watchers: FYI only for changes made to (api/envoy/|docs/root/api-docs/).

🐱

Caused by: #37912 was opened by IssaAbuKalbein.

see: more, trace.

fix
Signed-off-by: Issa Abu Kalbein <[email protected]>
@IssaAbuKalbein
Copy link
Contributor Author

/retest

@repokitteh-read-only repokitteh-read-only bot removed the api label Jan 8, 2025
@mattklein123 mattklein123 merged commit 2425431 into envoyproxy:main Jan 8, 2025
25 checks passed
@IssaAbuKalbein IssaAbuKalbein deleted the add_backoff_to_retries_in_udp_proxy branch January 8, 2025 08:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants