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

Adjust TCP_KEEPIDLE times based on $maxTimeMS

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: Networking
    • Labels:
      None
    • Backwards Compatibility:
      Minor Change
    • Sprint:
      Service Arch 2018-11-05, Service Arch 2018-11-19, Service Arch 2018-12-03, Service Arch 2018-12-17, Service Arch 2018-12-31

      Description

      We should look into setting the TCP_KEEPIDLE/KEEPINTVL/KEEPCNT settings based on $maxTimeMS. This would allow us to distinguish the case of the remote host taking a long time to perform the requested operation, vs being blackholed. We need to do a bit of testing to find the optimal values here, but I think we should consider the host dead after something like 500ms <= maxTimeMS / 2 <= 15seconds. This would give us a chance to retry using a different host while still staying within the user-provided timeout. We may want to only do this for retryable operations.

      Original Title: Make TCP_KEEPALIVE parameters configurable

      See here.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated: