Add support for configuring Patroni REST API request queue size #867
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.
This introduces an optional
request_queue_size
parameter for the Patroni REST API, with a default value of 5. It controls the TCP socket queue size, and once full, additional requests will receive a "Connection denied" error.Motivation
The proposed change addresses an availability issue in Patroni's REST API caused by the low default TCP accept queue size (
5
), which can lead to frequent listen queue overflows under high load, such as HAProxy health checks. By introducing a configurablerequest_queue_size
option, this fix ensures greater scalability and stability for high-traffic environments while maintaining backward compatibility with the default settingsReferences
patroni/patroni#2643
https://patroni.readthedocs.io/en/latest/yaml_configuration.html#rest-api