mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 14:35:26 +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
|
5811. [bug] Reimplement the maximum and idle timeouts for outgoing
|
||||||
zone tranfers. [GL #1897]
|
zone tranfers. [GL #1897]
|
||||||
|
|
||||||
|
@@ -48,6 +48,10 @@ Feature Changes
|
|||||||
scans, and other events that require exclusive access to a shared resources).
|
scans, and other events that require exclusive access to a shared resources).
|
||||||
:gl:`#3137`
|
: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
|
Bug Fixes
|
||||||
~~~~~~~~~
|
~~~~~~~~~
|
||||||
|
|
||||||
|
@@ -2097,14 +2097,6 @@ isc__nmsocket_readtimeout_cb(uv_timer_t *timer);
|
|||||||
void
|
void
|
||||||
isc__nmsocket_writetimeout_cb(uv_timer_t *timer);
|
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) \
|
#define UV_RUNTIME_CHECK(func, ret) \
|
||||||
if (ret != 0) { \
|
if (ret != 0) { \
|
||||||
isc_error_fatal(__FILE__, __LINE__, "%s failed: %s\n", #func, \
|
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.
|
* timers. If we do have a full message, reset the timer.
|
||||||
*
|
*
|
||||||
* Stop reading if this is a client socket, or if the server socket
|
* 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
|
* has been set to sequential mode. In this case we'll be called again
|
||||||
* processing simultaneously has reached the clients-per-connection
|
* later by isc__nm_resume_processing().
|
||||||
* limit. In this case we'll be called again later by
|
|
||||||
* isc__nm_resume_processing().
|
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
isc__nm_process_sock_buffer(isc_nmsocket_t *sock) {
|
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);
|
isc__nmsocket_timer_stop(sock);
|
||||||
|
|
||||||
if (atomic_load(&sock->client) ||
|
if (atomic_load(&sock->client) ||
|
||||||
atomic_load(&sock->sequential) ||
|
atomic_load(&sock->sequential)) {
|
||||||
ah >= STREAM_CLIENTS_PER_CONN)
|
|
||||||
{
|
|
||||||
isc__nm_stop_reading(sock);
|
isc__nm_stop_reading(sock);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user