Skip to content

fix bug with grpcroute mirror filter#8541

Merged
jukie merged 4 commits intoenvoyproxy:mainfrom
aburanrbx:adam--fix-grpcroute-mirror-issue
Mar 23, 2026
Merged

fix bug with grpcroute mirror filter#8541
jukie merged 4 commits intoenvoyproxy:mainfrom
aburanrbx:adam--fix-grpcroute-mirror-issue

Conversation

@aburanrbx
Copy link
Copy Markdown

What type of PR is this?
fix(provider): add RequestMirror backendRef indexing for GRPCRoute

What this PR does / why we need it:

The GRPCRoute backend indexer (backendGRPCRouteIndexFunc) is missing RequestMirror filter support. It only iterates over rule.BackendRefs and never inspects rule.Filters for RequestMirror entries. Since the indexer tells the resource collector which services a route depends on, the mirror target service is never loaded into the translation resource map. When validateBackendRefService calls t.GetService(), the service isn't found and the route is rejected with "service not found" — even though the service exists in the cluster.

This is the same bug as #5495 (for HTTPRoute), which was fixed in #5497, but the fix was only applied to backendHTTPRouteIndexFunc and never carried over to backendGRPCRouteIndexFunc.

The fix adds the same RequestMirror filter iteration to backendGRPCRouteIndexFunc that already exists in backendHTTPRouteIndexFunc, appending the mirror's BackendRef to the indexed backend refs.

Which issue(s) this PR fixes:

Fixes #6875

Release Notes: Yes

Signed-off-by: Adam Buran <aburan@roblox.com>
@aburanrbx aburanrbx requested a review from a team as a code owner March 17, 2026 21:15
@netlify
Copy link
Copy Markdown

netlify bot commented Mar 17, 2026

Deploy Preview for cerulean-figolla-1f9435 canceled.

Name Link
🔨 Latest commit f8b1081
🔍 Latest deploy log https://app.netlify.com/projects/cerulean-figolla-1f9435/deploys/69c0c4ad706c5b00088cba6b

@zirain
Copy link
Copy Markdown
Member

zirain commented Mar 17, 2026

can you add test and release notes for this?

Signed-off-by: Adam Buran <aburan@roblox.com>
Signed-off-by: Adam Buran <aburan@roblox.com>
arkodg
arkodg previously approved these changes Mar 23, 2026
Copy link
Copy Markdown
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

Signed-off-by: Arko Dasgupta <arkodg@users.noreply.github.com>
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 74.18%. Comparing base (dd0c09f) to head (f8b1081).
⚠️ Report is 6 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8541      +/-   ##
==========================================
+ Coverage   74.16%   74.18%   +0.01%     
==========================================
  Files         242      242              
  Lines       37804    37821      +17     
==========================================
+ Hits        28039    28056      +17     
- Misses       7809     7810       +1     
+ Partials     1956     1955       -1     

☔ 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.

@jukie jukie merged commit e633c08 into envoyproxy:main Mar 23, 2026
47 of 49 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants