Skip to content

Conversation

bjee19
Copy link
Contributor

@bjee19 bjee19 commented Sep 2, 2025

Cherry-pick #3820

Problem: As a result to NGINX Agent adding a wait for nginx workers to reload before updating nginx configuration, any long-lived connections would result in an excessively long wait between updating nginx configurations. This cause delays in NGF and on NGINX Plus, could cause a dropping of traffic if there was a wait between updating the configuration and updating the NGINX Plus upstreams.

Solution: Adjust the NGINX Agent reload configuration to lower the maximum wait time. Reverted the test request timeout duration back to 10 seconds.

Testing: Ran the SnippetsFilter functional test a couple of times and verified when there was a long-lived connection blocking on of the test cases, it went from a 27 second timeout -> 3 second. Also deployed nginx and verified the agent configuration was in there.

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.


Problem: As a result to NGINX Agent adding a wait for nginx workers to reload before updating nginx configuration, any long-lived connections would result in an excessively long wait between updating nginx configurations. This cause delays in NGF and on NGINX Plus, could cause a dropping of traffic if there was a wait between updating the configuration and updating the NGINX Plus upstreams.

Solution: Adjust the NGINX Agent reload configuration to lower the maximum wait time. Reverted the test request timeout duration back to 10 seconds.

Testing: Ran the SnippetsFilter functional test a couple of times and verified when there was a long-lived connection blocking on of the test cases, it went from a 27 second timeout -> 3 second. Also deployed nginx and verified the agent configuration was in there.
@bjee19 bjee19 changed the title Cherry-pick: Adjust nginx agent backoff settings and revert request timeout (#3820) Adjust nginx agent backoff settings and revert request timeout (#3820) Sep 2, 2025
@sjberman sjberman changed the title Adjust nginx agent backoff settings and revert request timeout (#3820) Adjust nginx agent backoff settings (#3820) Sep 2, 2025
@sjberman sjberman added the bug Something isn't working label Sep 2, 2025
Copy link

codecov bot commented Sep 2, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.96%. Comparing base (7607c01) to head (bd82a9a).
⚠️ Report is 1 commits behind head on release-2.1.

Additional details and impacted files
@@               Coverage Diff               @@
##           release-2.1    #3828      +/-   ##
===============================================
- Coverage        86.97%   86.96%   -0.02%     
===============================================
  Files              128      128              
  Lines            16001    16001              
  Branches            62       62              
===============================================
- Hits             13917    13915       -2     
- Misses            1918     1919       +1     
- Partials           166      167       +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.

@bjee19 bjee19 enabled auto-merge (squash) September 2, 2025 21:47
@bjee19 bjee19 merged commit d42d0fb into release-2.1 Sep 2, 2025
44 checks passed
@bjee19 bjee19 deleted the cherry-pick/nginx-worker-delayed-shutdown branch September 2, 2025 21:57
@github-project-automation github-project-automation bot moved this from 🆕 New to ✅ Done in NGINX Gateway Fabric Sep 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants