Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-104412

Exempt prioritized connections from token acquisition

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.2.0-rc0
    • 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. 

            Assignee:
            joseph.prince@mongodb.com Joseph Prince
            Reporter:
            erin.mcnulty@mongodb.com Erin McNulty
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: