-
Notifications
You must be signed in to change notification settings - Fork 138
Improve connection reset handling during ServiceAccountToken rotation #3905
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
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3905 +/- ##
==========================================
- Coverage 86.86% 86.78% -0.09%
==========================================
Files 128 128
Lines 16519 16547 +28
Branches 62 62
==========================================
+ Hits 14350 14361 +11
- Misses 1990 2005 +15
- Partials 179 181 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
f8f59ec
to
7429e91
Compare
7429e91
to
47e712c
Compare
352806c
to
5d7fef2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes help a bunch in clarity, thanks!
5d7fef2
to
7fabec5
Compare
…#3905) Problem: During ServiceAccountToken rotation, nginx-gateway-fabric was sometimes experiencing deadlocks due to the Subscribe method incorrectly intercepting initial configuration operations after a ServiceAccountToken rotation and incorrect signaling broadcast completion Solution: Implemented a pendingRequest tracking mechanism to distinguish between initial setup operations and broadcast operations.
…#3905) (#3932) Problem: During ServiceAccountToken rotation, nginx-gateway-fabric was sometimes experiencing deadlocks due to the Subscribe method incorrectly intercepting initial configuration operations after a ServiceAccountToken rotation and incorrect signaling broadcast completion Solution: Implemented a pendingRequest tracking mechanism to distinguish between initial setup operations and broadcast operations.
Proposed changes
Problem: During ServiceAccountToken rotation, nginx-gateway-fabric was sometimes experiencing deadlocks due to the Subscribe method incorrectly intercepting initial configuration operations after a ServiceAccountToken rotation and incorrect signaling broadcast completion
Solution: Implemented a
pendingRequest
tracking mechanism to distinguish between initial setup operations and broadcast operations:ResponseCh
(prevents spurious broadcast signals)ResponseCh
when there's a pending broadcast requestAlso added additional logging to improve debugging
Testing: Updated unit tests, existing functional and conformance tests pass, and reran longevity (with the corresponding Agent fixes) which now works
Partially closes #3626
Checklist
Before creating a PR, run through this checklist and mark each as complete.
Release notes
If this PR introduces a change that affects users and needs to be mentioned in the release notes,
please add a brief note that summarizes the change.