Uploaded image for project: 'Ruby Driver'
  1. Ruby Driver
  2. RUBY-1486

Implement "happy eyeballs" for dual stack connections

      Currently when a hostname resolves to ipv4 and ipv6 hosts, the addresses are tried sequentially which may create long waits when the first address tried is not functioning. The happy eyeballs algorithm specifies roughly the following:

      1. Attempt a connection to the first address that a hostname resolved to.
      2. After 1 second, if the first connection hasn't succeeded, attempt a connection to the next address that the hostname resolved to.

      RFC: https://tools.ietf.org/html/rfc6555

      As part of this work we should consider how the driver handles hostnames with multiple A records or multiple AAAA records (e.g., for geo load balancing).

            Assignee:
            Unassigned Unassigned
            Reporter:
            oleg.pudeyev@mongodb.com Oleg Pudeyev (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: