Uploaded image for project: 'Node.js Driver'
  1. Node.js Driver
  2. NODE-5754

Implement fallback to IPv4/IPv6 vice-versa

    • 2
    • Not Needed
    • Not Needed
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?

      Use Case

      As a Node.js Driver user
      I want the driver to attempt to use all A and AAAA records for each hostname
      So that the driver automatically handles connecting to exclusively IPv4 or exclusively IPv6 bound servers without needing configuration changes.

      User Impact

      • Users will be able to connect to servers bound to IPv4 or 6 or both addresses
      • Driver will prefer IPv6 addresses

      Dependencies

      • Node 18.13+ required

      Unknowns

      • None

      Acceptance Criteria

      Implementation Requirements

      • Allow autoSelectFamily and autoSelectFamilyAttemptTimeout options on MongoClientOptions
      • Default autoSelectFamily to true
      • Pass the options through to socket and TLS socket connection.

      Testing Requirements

      • Add spy to ensure options are passed through to regular and TLS sockets.

      Documentation Requirements

      • Remove note about handling for IPv4/6 from readme

      Follow Up Requirements

      • None.

            Assignee:
            durran.jordan@mongodb.com Durran Jordan
            Reporter:
            neal.beeken@mongodb.com Neal Beeken
            Neal Beeken
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: