-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Connection Layer
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.
- is depended on by
-
COMPASS-6516 Investigate changes in NODE-4926: Support autoSelectFamily and autoSelectFamilyAttemptTimeout in options
- Open
- is duplicated by
-
NODE-4884 Implement Happy Eyeballs when connecting to a server
- Closed
-
NODE-1580 Implement fast fallback (happy eyeballs) for ipv4/ipv6
- Closed
- is related to
-
NODE-6449 AutoEncrypter does not use client options for autoSelectFamily
- Backlog
-
NODE-6366 Remove unnecessary Node.js option type patching
- Backlog
- related to
-
DRIVERS-402 Implement fallback to IP v4/IP v6 vice-versa
- Closed
-
NODE-1222 Implement fallback to IP v4/IP v6 vice-versa
- Closed
-
NODE-4926 Support autoSelectFamily and autoSelectFamilyAttemptTimeout in options
- Closed