Skip to content

Conversation

@easwars
Copy link
Contributor

@easwars easwars commented Oct 10, 2025

Existing behavior:

  • At routing time, when an RPC matches a route and a cluster is selected, the interceptor chain for that specific RPC is built.
  • This chain is built on a per-RPC basis.
  • A subsequent RPC that matches the exact same route and cluster will trigger the entire chain reconstruction again, even if no configuration has changed.

New behavior:

  • The interceptor chain is now pre-built for every route and every pickable cluster associated with that route.
  • The chains are constructed once when the config selector is built.

Other changes:

  • Existing unit tests have been converted to be more e2e style tests.
  • This lays the necessary groundwork for upcoming changes to the filter API, specifically to support filter state retention

RELEASE NOTES: NONE

@easwars easwars added Area: xDS Includes everything xDS related, including LB policies used with xDS. Type: Internal Cleanup Refactors, etc labels Oct 10, 2025
@easwars easwars added this to the 1.77 Release milestone Oct 10, 2025
@easwars
Copy link
Contributor Author

easwars commented Oct 10, 2025

@eshitachandwani : FYI this might conflict with your resolver changes for A74. And since you have been looking at the resolver code for sometime now, it would be a good PR to review.

@codecov
Copy link

codecov bot commented Oct 10, 2025

Codecov Report

❌ Patch coverage is 46.87500% with 17 lines in your changes missing coverage. Please review.
✅ Project coverage is 83.09%. Comparing base (8110884) to head (226e890).
⚠️ Report is 31 commits behind head on master.

Files with missing lines Patch % Lines
internal/xds/resolver/serviceconfig.go 45.00% 4 Missing and 7 partials ⚠️
internal/xds/resolver/xds_resolver.go 50.00% 3 Missing and 3 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #8641      +/-   ##
==========================================
+ Coverage   79.45%   83.09%   +3.64%     
==========================================
  Files         415      415              
  Lines       41339    32144    -9195     
==========================================
- Hits        32844    26710    -6134     
+ Misses       6621     4021    -2600     
+ Partials     1874     1413     -461     
Files with missing lines Coverage Δ
internal/xds/resolver/xds_resolver.go 73.64% <50.00%> (-8.13%) ⬇️
internal/xds/resolver/serviceconfig.go 65.03% <45.00%> (-20.53%) ⬇️

... and 365 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dfawley dfawley requested review from arjan-bal and removed request for dfawley October 15, 2025 16:17
@dfawley dfawley assigned arjan-bal and unassigned dfawley Oct 15, 2025
@dfawley
Copy link
Member

dfawley commented Oct 15, 2025

@arjan-bal could you review this change, please?

Copy link
Contributor

@arjan-bal arjan-bal left a comment

Choose a reason for hiding this comment

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

Leaving my comments on the non-test code, still reviewing the tests.

@arjan-bal arjan-bal removed their assignment Oct 23, 2025
@arjan-bal arjan-bal modified the milestones: 1.77 Release, 1.78 Release Oct 30, 2025
@easwars easwars assigned arjan-bal and unassigned easwars Oct 30, 2025
@easwars
Copy link
Contributor Author

easwars commented Nov 10, 2025

@arjan-bal : Gentle ping on this one. This is blocking a design change that I need to make to support A83.

Copy link
Contributor

@arjan-bal arjan-bal left a comment

Choose a reason for hiding this comment

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

LGTM!

@arjan-bal arjan-bal removed their assignment Nov 11, 2025
@easwars easwars merged commit 5ab5ce0 into grpc:master Nov 11, 2025
14 checks passed
@easwars easwars deleted the create_interceptors_once_per_config_selector branch November 11, 2025 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: xDS Includes everything xDS related, including LB policies used with xDS. Type: Internal Cleanup Refactors, etc

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants