mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 06:25:31 +00:00
Merge branch '3141-remove-the-artificial-stream-clients-limit' into 'main'
Remove the limit on the number of simultaneous TCP queries Closes #3141 See merge request isc-projects/bind9!5851
This commit is contained in:
3
CHANGES
3
CHANGES
@@ -1,3 +1,6 @@
|
||||
5812. [func] Drop the artificial limit on the number of queries
|
||||
processed in a single TCP read callback. [GL #3141]
|
||||
|
||||
5811. [bug] Reimplement the maximum and idle timeouts for outgoing
|
||||
zone tranfers. [GL #1897]
|
||||
|
||||
|
@@ -48,6 +48,10 @@ Feature Changes
|
||||
scans, and other events that require exclusive access to a shared resources).
|
||||
:gl:`#3137`
|
||||
|
||||
- The limit on the number of simultaneously processed pipelined DNS queries
|
||||
received over TCP has been dropped. Previously, it was capped at 23
|
||||
queries processed at the same time. :gl:`#3141`
|
||||
|
||||
Bug Fixes
|
||||
~~~~~~~~~
|
||||
|
||||
|
@@ -2097,14 +2097,6 @@ isc__nmsocket_readtimeout_cb(uv_timer_t *timer);
|
||||
void
|
||||
isc__nmsocket_writetimeout_cb(uv_timer_t *timer);
|
||||
|
||||
/*%<
|
||||
*
|
||||
* Maximum number of simultaneous handles in flight supported for a single
|
||||
* connected TCPDNS socket. This value was chosen arbitrarily, and may be
|
||||
* changed in the future.
|
||||
*/
|
||||
#define STREAM_CLIENTS_PER_CONN 23
|
||||
|
||||
#define UV_RUNTIME_CHECK(func, ret) \
|
||||
if (ret != 0) { \
|
||||
isc_error_fatal(__FILE__, __LINE__, "%s failed: %s\n", #func, \
|
||||
|
@@ -2335,10 +2335,8 @@ processbuffer(isc_nmsocket_t *sock) {
|
||||
* timers. If we do have a full message, reset the timer.
|
||||
*
|
||||
* Stop reading if this is a client socket, or if the server socket
|
||||
* has been set to sequential mode, or the number of queries we are
|
||||
* processing simultaneously has reached the clients-per-connection
|
||||
* limit. In this case we'll be called again later by
|
||||
* isc__nm_resume_processing().
|
||||
* has been set to sequential mode. In this case we'll be called again
|
||||
* later by isc__nm_resume_processing().
|
||||
*/
|
||||
void
|
||||
isc__nm_process_sock_buffer(isc_nmsocket_t *sock) {
|
||||
@@ -2375,9 +2373,7 @@ isc__nm_process_sock_buffer(isc_nmsocket_t *sock) {
|
||||
isc__nmsocket_timer_stop(sock);
|
||||
|
||||
if (atomic_load(&sock->client) ||
|
||||
atomic_load(&sock->sequential) ||
|
||||
ah >= STREAM_CLIENTS_PER_CONN)
|
||||
{
|
||||
atomic_load(&sock->sequential)) {
|
||||
isc__nm_stop_reading(sock);
|
||||
return;
|
||||
}
|
||||
|
Reference in New Issue
Block a user