Skip to content

xds: add a test for deadlocks in nested xDS channels #8448

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

Merged
merged 2 commits into from
Jul 15, 2025

Conversation

arjan-bal
Copy link
Contributor

@arjan-bal arjan-bal commented Jul 14, 2025

This PR adds a test to catch deadlocks when using xDS to resolve the address of the xDS management server, resulting in the creation of nested xDS channels. The fix for the bug was initially submitted in #8011 and later in #8445.

Tested

Verified that the deadlock can be reproduced in 2-3 runs when the fix in #8445 is not included. The deadlock is resolved after including #8445.

RELEASE NOTES: N/A

@arjan-bal arjan-bal added this to the 1.74 Release milestone Jul 14, 2025
@arjan-bal arjan-bal requested a review from dfawley July 14, 2025 07:22
@arjan-bal arjan-bal added Type: Testing Area: xDS Includes everything xDS related, including LB policies used with xDS. labels Jul 14, 2025
@arjan-bal arjan-bal changed the title xds: Add a test for deadlocks in nested xDS channels xds: add a test for deadlocks in nested xDS channels Jul 14, 2025
Copy link

codecov bot commented Jul 14, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 82.35%. Comparing base (af2600d) to head (e5b3ead).
Report is 3 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #8448      +/-   ##
==========================================
+ Coverage   82.27%   82.35%   +0.08%     
==========================================
  Files         414      414              
  Lines       40422    40436      +14     
==========================================
+ Hits        33257    33301      +44     
+ Misses       5799     5775      -24     
+ Partials     1366     1360       -6     

see 22 files with indirect coverage changes

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

Copy link
Member

@dfawley dfawley left a comment

Choose a reason for hiding this comment

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

Looks great, thank you!

@@ -19,18 +19,34 @@
package pool_test
Copy link
Member

Choose a reason for hiding this comment

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

Aside: it seems this file should have been named pool_ext_test.go to prepare for the day we might want pool_test.go that is inside package pool.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Renamed the file and package.

@arjan-bal arjan-bal merged commit bed551a into grpc:master Jul 15, 2025
23 of 24 checks passed
@arjan-bal arjan-bal deleted the xds-pool-deadlock branch July 15, 2025 05:55
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: Testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants