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

Implement "happy eyeballs" for dual stack connections

    XMLWordPrintable

Details

    • Improvement
    • Status: Backlog
    • Trivial - P5
    • Resolution: Unresolved
    • None
    • None
    • Connections

    Description

      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).

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated: