Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-2482

Reduce serverSelectionTimeoutMS default value

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Component/s: Server Selection
    • Needed
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-4514 Blocked
      CXX-2607 Blocked
      CSHARP-4383 Blocked
      GODRIVER-2610 Blocked
      JAVA-4793 Blocked
      NODE-4768 Blocked
      MOTOR-1057 Blocked
      PYTHON-3491 Blocked
      PHPLIB-1030 Blocked
      RUBY-3167 Blocked
      RUST-1527 Blocked
      SWIFT-1673 Won't Do
      $i18n.getText("admin.common.words.show")
      #scriptField, #scriptField *{ border: 1px solid black; } #scriptField{ border-collapse: collapse; } #scriptField td { text-align: center; /* Center-align text in table cells */ } #scriptField td.key { text-align: left; /* Left-align text in the Key column */ } #scriptField a { text-decoration: none; /* Remove underlines from links */ border: none; /* Remove border from links */ } /* Add green background color to cells with FixVersion */ #scriptField td.hasFixVersion { background-color: #00FF00; /* Green color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-4514 Blocked CXX-2607 Blocked CSHARP-4383 Blocked GODRIVER-2610 Blocked JAVA-4793 Blocked NODE-4768 Blocked MOTOR-1057 Blocked PYTHON-3491 Blocked PHPLIB-1030 Blocked RUBY-3167 Blocked RUST-1527 Blocked SWIFT-1673 Won't Do

      The default serverSelectionTimeoutMS of 30000 may be too long a default that negatively impacts application resilience.

      In general 30 seconds is too long as the server is likely unavailable and unlikely to recover within the 30 seconds. Additionally 30 seconds may match other service timeouts (ex: Heroku's Request Timeout) which when overlapped can result in user-facing errors.

      Lowering the default to something like 15000 would ensure it remains above the heartbeatFrequencyMS default of 10000 and may improve application resilience by allowing faster server selection.

      Note this proposed change would only impact the default value of serverSelectionTimeoutMS, which can still be configured by users as needed. There should also be no impact to Client Side Operations Timeout as serverSelectionTimeoutMS is not being deprecated.

            Assignee:
            Unassigned Unassigned
            Reporter:
            alex.bevilacqua@mongodb.com Alex Bevilacqua
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: