Skip to content

CP/DP Split: optimize configuration events #3320

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 7 commits into from
Apr 28, 2025

Conversation

sjberman
Copy link
Collaborator

Problem: All config update events resulted in sending configuration to every Gateway, even if the change was irrelevant.

Solution: Compare new config with old config to determine if a ConfigApply is necessary. Simplified the change processor and handler to no longer have to determine this.

Testing: Verified that relevant Gateways are updated properly, otherwise no updates occur.

Closes #3272

Checklist

Before creating a PR, run through this checklist and mark each as complete.

  • I have read the CONTRIBUTING doc
  • I have added tests that prove my fix is effective or that my feature works
  • I have checked that all unit tests pass after adding my changes
  • I have updated necessary documentation
  • I have rebased my branch onto main
  • I will ensure my PR is targeting the main branch and pulling from my branch from my own fork

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.


@sjberman sjberman requested a review from a team as a code owner April 24, 2025 17:45
@github-actions github-actions bot added the chore Pull requests for routine tasks label Apr 24, 2025
Copy link

codecov bot commented Apr 24, 2025

Codecov Report

Attention: Patch coverage is 86.82171% with 17 lines in your changes missing coverage. Please review.

Project coverage is 86.71%. Comparing base (6337c97) to head (f3b9b6a).
Report is 264 commits behind head on change/control-data-plane-split.

Files with missing lines Patch % Lines
internal/mode/static/nginx/agent/action.go 83.33% 8 Missing and 2 partials ⚠️
internal/mode/static/handler.go 87.09% 3 Missing and 1 partial ⚠️
internal/mode/static/nginx/agent/agent.go 76.92% 2 Missing and 1 partial ⚠️
Additional details and impacted files
@@                         Coverage Diff                         @@
##           change/control-data-plane-split    #3320      +/-   ##
===================================================================
- Coverage                            89.74%   86.71%   -3.03%     
===================================================================
  Files                                  109      129      +20     
  Lines                                11150    14751    +3601     
  Branches                                50       62      +12     
===================================================================
+ Hits                                 10007    12792    +2785     
- Misses                                1083     1816     +733     
- Partials                                60      143      +83     

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

@github-actions github-actions bot added the tests Pull requests that update tests label Apr 24, 2025
Problem: All config update events resulted in sending configuration to every Gateway, even if the change was irrelevant.

Solution: Compare new config with old config to determine if a ConfigApply is necessary. Simplified the change processor and handler to no longer have to determine this.
@sjberman sjberman force-pushed the chore/optimize-configapply branch from 0245a61 to d080064 Compare April 28, 2025 18:21
@sjberman sjberman merged commit e2115c3 into change/control-data-plane-split Apr 28, 2025
36 of 37 checks passed
@sjberman sjberman deleted the chore/optimize-configapply branch April 28, 2025 20:38
@github-project-automation github-project-automation bot moved this from 🆕 New to ✅ Done in NGINX Gateway Fabric Apr 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Pull requests for routine tasks tests Pull requests that update tests
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants