[MXS-765] Queued Connection Throttling Created: 2016-06-14 Updated: 2022-08-02 Resolved: 2022-08-02 |
|
| Status: | Closed |
| Project: | MariaDB MaxScale |
| Component/s: | Core |
| Affects Version/s: | None |
| Fix Version/s: | 6.0.0 |
| Type: | New Feature | Priority: | Major |
| Reporter: | Johan Wikman | Assignee: | Todd Stoffel (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
In case the maximum number of client connections has been reached, additional connection attempts should be queued up to a certain limit. |
| Comments |
| Comment by martin brampton (Inactive) [ 2016-07-04 ] |
|
If both of the configuration items "max_queued_connections" and "queued_connection_timeout" are given positive values for a service, then requests for a connection may be queued. They will be queued if there are already "max_connections" in use, and there are less than "max_queued_connections" already queued up. The timeout is specified in terms of heartbeats - approximately tenths of a second. When a connection is terminated, taking the total number below "max_connections", if there is at least one entry in the queue the first entry is removed from the queue and it is connected. Approximately once a second queued connections are checked, and any that have exceeded the specified timeout are sent an error message "Too many connections". The queue manager that handles the queuing has been carefully tested and the mechanism appears to work correctly. Further testing is likely. |
| Comment by Johan Wikman [ 2017-03-29 ] |
|
Needs modifications in order to work with new polling mechanism. |
| Comment by markus makela [ 2022-07-18 ] |
|
Moved back to Open status, it's not in active development so the Stalled status is wrong. This is also technically already implemented using the idle_session_pool_time and max_routing_connections features which means this could be closed as Done. |
| Comment by Johan Wikman [ 2022-08-02 ] |
|
Implemented by idle_session_pool_time and max_routing_connections. |