georgew5656 opened a new pull request, #15596:
URL: https://github.com/apache/druid/pull/15596

   Allow setting TCP accept queue size.
   
   ### Description
   The ServerConnector class defaults _acceptQueueSize to 0 which normally 
results in a value of min(net.core.somaxconn, and whatever is passed to the 
listen() method on the socket). In my test environment with Java 11 this number 
is 50, which can be too low, especially when there are many 
brokers/coordinators trying to setup connections to a historical or real-time 
index process.
   
   When this queue fills up there can be dropped packets and it is possible to 
see connection timeouts/connection resets depending on the underlying system 
settings.
   
   This is a more advanced setting so we should continue setting the value of 
_acceptQueueSize to 0 when this config is not set.
   
   #### Fixed the bug ...
   #### Renamed the class ...
   #### Added a forbidden-apis entry ...
   I considered trying to set this to a fixed size but I think there are too 
many factors that go into what the correct size should be (including the type 
of server that is running, how many cpus are available, etc). So I think its 
best to leave this as a configurable option.
   
   
   #### Release note
   Add configuration for setting TCP acceptQueueSize.
   
   ##### Key changed/added classes in this PR
    * `TLSServerConfig`
    * `ServerConfig`
    * `JettyServerModule`
   
   This PR has:
   
   - [X] been self-reviewed.
      - [ ] using the [concurrency 
checklist](https://github.com/apache/druid/blob/master/dev/code-review/concurrency.md)
 (Remove this item if the PR doesn't have any relation to concurrency.)
   - [ ] added documentation for new or modified features or behaviors.
   - [ ] a release note entry in the PR description.
   - [ ] added Javadocs for most classes and all non-trivial methods. Linked 
related entities via Javadoc links.
   - [ ] added or updated version, license, or notice information in 
[licenses.yaml](https://github.com/apache/druid/blob/master/dev/license.md)
   - [ ] added comments explaining the "why" and the intent of the code 
wherever would not be obvious for an unfamiliar reader.
   - [ ] added unit tests or modified existing tests to cover new code paths, 
ensuring the threshold for [code 
coverage](https://github.com/apache/druid/blob/master/dev/code-review/code-coverage.md)
 is met.
   - [ ] added integration tests.
   - [X] been tested in a test Druid cluster.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to