[CSHARP-2125] Implement fallback to IP v4/IP v6 vice-versa Created: 11/Dec/17 Updated: 29/Jul/22 |
|
| Status: | Backlog |
| Project: | C# Driver |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | New Feature | Priority: | Major - P3 |
| Reporter: | Rathi Gnanasekaran | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | rp-toSched, size-medium | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Comments |
| Comment by Matt Broadstone [ 23/Jul/18 ] |
|
Happy eyeballs sounds like a sensible default, however I don't think we should prohibit allowing users to specify an overriding preference. I think we will end up with something like this in the node driver. |
| Comment by Robert Stam [ 23/Jul/18 ] |
|
I had not heard about Happy Eyeballs before, but it sounds interesting. It does seem like we would end up opening two sockets for every connection to the server, only to then immediately close one of them. Seems wasteful. Also, it says to use the first socket that connects. But what if the the IPv4 sockets opens slightly before the IPv6 socket and the user has a preference for IPv6? |
| Comment by Matt Broadstone [ 23/Jul/18 ] |
|
rstam what about happy eyeballs ? |
| Comment by Robert Stam [ 23/Jan/18 ] |
|
Not sure we want to do this for the .NET Driver. I commented in the There should probably be some way to tell the driver which address family (IPv4 or IPv6) to try first. Otherwise there could be a serious performance hit while waiting for the unsupported connect attempt to timeout. We took the position in the .NET driver that falling back is undesirable. The connection string should specify whether to use IPv4 or IPv6 and the driver should only try the address family the application told it to use. |