Uploaded image for project: 'Go Driver'
  1. Go Driver
  2. GODRIVER-1879

topology.connection TLS handshake never times out

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 1.4.7
    • Affects Version/s: 1.3.7, 1.4.6
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • Not Needed

      With TLS configured on a toplogy, the the connection.connect() method can hang forever. From what I can tell, timeouts are applied to all operations in that method except tls.Client.Handshake - if the remote server is up but mongod is hung, the Handshake method hangs indefinitely.

      We discovered this bug after noticing that the driver continues to route traffic to servers that have crashed. If a mongod exits in a way that triggers a core dump (segfault, i/o error, etc.), the core dump can take a couple of minutes to write to disk - during this time, no topology updates are triggered in the driver, heartbeats hang, and server selection still returns the bad server.

      This is fairly simple to repro:

            Assignee:
            divjot.arora@mongodb.com Divjot Arora (Inactive)
            Reporter:
            bfink@stripe.com Brian Fink
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: