-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Networking & Observability
-
Fully Compatible
-
N&O 2025-05-12
-
None
-
3
-
TBD
-
None
-
None
-
None
-
None
-
None
-
None
Introduce the following server parameter:
- maxEstablishingConnectionsOverride; [string]; default []; – a list of CIDRs to be exempted from the maxEstablishing limits. Set at startup and runtime.
To transport_options.idl, with an associated cpp_class in transport_options.cpp. This parameter should be able to reuse most of the
maxIncomingConnectionsOverride logic already in that file. We can consider making the server parameter a versioned value as well, like the maxIncomingConnectionsOverride is, in order to save on atomic loads/stores on the connection establishment path, though I would classify that as a nice-to-have.
We will also want to rename the `Session::shouldOverrideMaxConns` function to be something more generic, like `isExemptedByCIDRList` (the function already is generic in every way other than its name).
The end state of this ticket will be that in SERVER-104415, we can make this call (or something like it if using a versioned value):
if(!session()->isExemptedByCIDRList(serverGlobalParams.maxEstablishingConnectionsOverride)) here in the session_workflow before we acquire a token for rate limiting.
- is related to
-
SERVER-104415 Integrate connection establishment rate limiter into SessionWorkflow
-
- In Progress
-