-
Notifications
You must be signed in to change notification settings - Fork 376
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
Backend connection queue #4030
Merged
walid-git
merged 13 commits into
varnishcache:master
from
walid-git:upstream_backend_queue
Jul 15, 2024
Merged
Backend connection queue #4030
walid-git
merged 13 commits into
varnishcache:master
from
walid-git:upstream_backend_queue
Jul 15, 2024
Commits on Jul 9, 2024
-
backend: queue tasks when no connections available
This patch allows a task to be queued when a backend reaches its max_connections. The task will queue on the backend and wait for a connection to become availble, rather than immediately failing. This initial commit just adds the basic functionality. It temporarily uses the connect_timeout as the queue wait time, until new parameters are added in followup effort.
Configuration menu - View commit details
-
Copy full SHA for 2aba785 - Browse repository at this point
Copy the full SHA 2aba785View commit details
Commits on Jul 15, 2024
-
backend: add backend wait queue parameters
The following parameters have been added: the amount of time a task will wait. the maximum number of tasks that can wait. - global parameters: backend_wait_timeout (default 0.0) backend_wait_limit (default 0) - those parameters can be overridden in the backend: backend foo { .host = "bar.com"; .wait_timeout = 3s; .wait_limit = 10; } The backend wait queue capability is off by default and must be enabled by setting both of the new parameters defined above. Note that this makes an ABI breaking change.
Configuration menu - View commit details
-
Copy full SHA for 6e2d644 - Browse repository at this point
Copy the full SHA 6e2d644View commit details -
backend: add main counters for backend queue
These counters were added to main: backend_wait - count of tasks that waited in queue for a connection. backend_wait_fail - count of tasks that waited in queue but did not get a connection (timed out).
Configuration menu - View commit details
-
Copy full SHA for 9613fc9 - Browse repository at this point
Copy the full SHA 9613fc9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5416dd3 - Browse repository at this point
Copy the full SHA 5416dd3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c88643 - Browse repository at this point
Copy the full SHA 8c88643View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9027054 - Browse repository at this point
Copy the full SHA 9027054View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1eb443c - Browse repository at this point
Copy the full SHA 1eb443cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5f89a11 - Browse repository at this point
Copy the full SHA 5f89a11View commit details -
Configuration menu - View commit details
-
Copy full SHA for fbfb9f1 - Browse repository at this point
Copy the full SHA fbfb9f1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2240e8c - Browse repository at this point
Copy the full SHA 2240e8cView commit details -
Configuration menu - View commit details
-
Copy full SHA for b80d21b - Browse repository at this point
Copy the full SHA b80d21bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1397b45 - Browse repository at this point
Copy the full SHA 1397b45View commit details -
cache_backend: Re-check that BE is still busy after wakeup
This makes sure that we won't abort a backend connection attempt if the backend can take it. It covers for any potential missing connwait_signal call.
Configuration menu - View commit details
-
Copy full SHA for 171b6b7 - Browse repository at this point
Copy the full SHA 171b6b7View commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.