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

Adjust TCP_KEEPIDLE times based on $maxTimeMS

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Networking
    • Labels:
      None
    • Service Arch
    • Minor Change
    • 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, Service Arch 2022-05-30

      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.

      AC: Investigate to see if this is something that we should pursue. Reach out to Kelsey and Kal for further context.

            Assignee:
            backlog-server-servicearch [DO NOT USE] Backlog - Service Architecture
            Reporter:
            ben.caimano@mongodb.com Benjamin Caimano (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: