Skip to content

Conversation

shreealt
Copy link
Contributor

@shreealt shreealt commented Oct 8, 2025

What type of PR is this?

Support retry policy in ext proc.

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes: #7127

Release Notes: Yes/No

@shreealt shreealt requested a review from a team as a code owner October 8, 2025 19:00
Signed-off-by: Shreemaan Abhishek <[email protected]>
@shreealt shreealt force-pushed the fix/add-support-for-retry branch from 7f3e989 to 3863a53 Compare October 8, 2025 19:10
@shreealt shreealt marked this pull request as draft October 8, 2025 19:12
@arkodg
Copy link
Contributor

arkodg commented Oct 8, 2025

@codecov
Copy link

codecov bot commented Oct 8, 2025

Codecov Report

❌ Patch coverage is 50.00000% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 70.96%. Comparing base (c5d6b03) to head (51bff22).
⚠️ Report is 26 commits behind head on main.

Files with missing lines Patch % Lines
internal/xds/translator/extproc.go 50.00% 4 Missing and 2 partials ⚠️

❌ Your patch status has failed because the patch coverage (50.00%) is below the target coverage (60.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #7169      +/-   ##
==========================================
- Coverage   71.06%   70.96%   -0.11%     
==========================================
  Files         229      229              
  Lines       40942    41021      +79     
==========================================
+ Hits        29097    29112      +15     
- Misses      10127    10191      +64     
  Partials     1718     1718              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Signed-off-by: Shreemaan Abhishek <[email protected]>
@shreealt shreealt marked this pull request as ready for review October 9, 2025 05:00
@shreealt
Copy link
Contributor Author

shreealt commented Oct 9, 2025

@arkodg, test cases added!

Group: gateway.envoyproxy.io
backendSettings:
# START: Test data for retry policy
retry:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test data for retry policy

proxyProtocol:
version: V2
# START: Test data for retry policy
retry:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test data for retry policy

Signed-off-by: Shreemaan Abhishek <[email protected]>
@arkodg arkodg added this to the v1.6.0-rc.1 Release milestone Oct 14, 2025
@arkodg
Copy link
Contributor

arkodg commented Oct 14, 2025

hey @shreealt can you run make testdata again and commit those changes to satisfy the linter ?

Copy link
Contributor

@guydc guydc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do grpc services support all the options in retry policy? It seems like the original PR that added support for retry_policy in grpc_service only covered backoff settings: envoyproxy/envoy#24701. Are other options like retryOn supported?

cc @nareddyt, @arkodg

Signed-off-by: Shreemaan Abhishek <[email protected]>
@nareddyt
Copy link
Contributor

nareddyt commented Oct 16, 2025

Do grpc services support all the options in retry policy? It seems like the original PR that added support for retry_policy in grpc_service only covered backoff settings: envoyproxy/envoy#24701. Are other options like retryOn supported?

cc @nareddyt, @arkodg

IIUC Envoy has a separate gRPC client codepath for xDS config subscription vs async sidestream calls (e.g. from ext_auth and ext_proc). envoyproxy/envoy#24701 implements it for the xDS config subscription code path. I believe the regular async sidestream call client has supported retryOn correctly for a while.

Here, we see the gRPC client sets retry policy directly on the HTTP stream options - https://github.com/envoyproxy/envoy/blob/f18433b0e76190cece6cad73fd58d4fbd9284a0d/source/common/grpc/async_client_impl.cc#L130

So yes, it should be supported fully. But please double check me :)

@shreealt
Copy link
Contributor Author

/retest

1 similar comment
@shreealt
Copy link
Contributor Author

/retest

@arkodg
Copy link
Contributor

arkodg commented Oct 18, 2025

tests are still failing

@arkodg arkodg requested review from a team, guydc and zirain October 21, 2025 17:46
Copy link
Member

@zirain zirain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, do we need a release notes for backport?

Copy link
Contributor

@guydc guydc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link
Contributor

@arkodg arkodg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM thanks !

merging this one to avoid merge conflicts, lets add a release note for this in a follow up

@arkodg arkodg merged commit 757d147 into envoyproxy:main Oct 22, 2025
31 of 32 checks passed
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.

Add support for retry in ext proc

5 participants