Alternate Addresses are not handled correctly in sdk3
Description
Environment
Gerrit Reviews
Release Notes Description
Activity
Jeffry Morris May 21, 2020 at 1:39 AM
Matt Ingenthron May 19, 2020 at 8:42 PM
See the update from , looks like the same issue? There's not enough info in the logging here though to say.
Matthew Groves May 19, 2020 at 8:39 PM
I applied the patch, and I'm now getting a different exception:
Log output:
2020-05-19 16:37:52.3221|INFO|Couchbase.Core.ClusterContext|Successfully retrieved DNS SRV entries: [cb-0001.cb.6cfdeeed-049a-428f-a3ae-0fea0a0b7928.dp.cloud.couchbase.com:11207,cb-0000.cb.6cfdeeed-049a-428f-a3ae-0fea0a0b7928.dp.cloud.couchbase.com:11207,cb-0002.cb.6cfdeeed-049a-428f-a3ae-0fea0a0b7928.dp.cloud.couchbase.com:11207]
2020-05-19 16:38:13.4090|DEBUG|Couchbase.Core.IO.Connections.MultiplexingConnection|Setting TCP Keep-Alives using SocketOptions - enable keep-alives True, time 00:01:00, interval 00:00:01.
2020-05-19 16:38:13.4090|DEBUG|Couchbase.Core.IO.Connections.MultiplexingConnection|Setting TCP Keep-Alives using SocketOptions - enable keep-alives True, time 00:01:00, interval 00:00:01.
After an interval of 00:00:21.3274319, this exception is thrown when trying Cluster.ConnectAsync(...)
Unhandled exception. System.IO.IOException: The operation is not allowed on non-connected sockets.
at System.Net.Sockets.NetworkStream..ctor(Socket socket, FileAccess access, Boolean ownsSocket)
at System.Net.Sockets.NetworkStream..ctor(Socket socket, Boolean ownsSocket)
at Couchbase.Core.IO.Connections.ConnectionFactory.CreateAndConnectAsync(IPEndPoint endPoint, CancellationToken cancellationToken) in c:\zproj\couchbase-net-client\src\Couchbase\Core\IO\Connections\ConnectionFactory.cs:line 81
at Couchbase.Core.IO.Connections.ConnectionPoolBase.CreateConnectionAsync(CancellationToken cancellationToken) in c:\zproj\couchbase-net-client\src\Couchbase\Core\IO\Connections\ConnectionPoolBase.cs:line 65
at Couchbase.Core.IO.Connections.DataFlow.DataFlowConnectionPool.<>c_DisplayClass28_0.<<AddConnectionsAsync>g_StartConnection|0>d.MoveNext() in c:\zproj\couchbase-net-client\src\Couchbase\Core\IO\Connections\DataFlow\DataFlowConnectionPool.cs:line 251
— End of stack trace from previous location where exception was thrown —
at Couchbase.Core.IO.Connections.DataFlow.DataFlowConnectionPool.AddConnectionsAsync(Int32 count, CancellationToken cancellationToken) in c:\zproj\couchbase-net-client\src\Couchbase\Core\IO\Connections\DataFlow\DataFlowConnectionPool.cs:line 287
at Couchbase.Core.IO.Connections.DataFlow.DataFlowConnectionPool.InitializeAsync(CancellationToken cancellationToken) in c:\zproj\couchbase-net-client\src\Couchbase\Core\IO\Connections\DataFlow\DataFlowConnectionPool.cs:line 80
at Couchbase.Core.ClusterNode.InitializeAsync() in c:\zproj\couchbase-net-client\src\Couchbase\Core\ClusterNode.cs:line 174
at Couchbase.Core.DI.ClusterNodeFactory.CreateAndConnectAsync(HostEndpoint endPoint, CancellationToken cancellationToken) in c:\zproj\couchbase-net-client\src\Couchbase\Core\DI\ClusterNodeFactory.cs:line 55
at Couchbase.Core.ClusterContext.BootstrapGlobalAsync() in c:\zproj\couchbase-net-client\src\Couchbase\Core\ClusterContext.cs:line 231
at Couchbase.Cluster.Couchbase.Core.Bootstrapping.IBootstrappable.BootStrapAsync() in c:\zproj\couchbase-net-client\src\Couchbase\Cluster.cs:line 397
at Couchbase.Cluster.ConnectAsync(ClusterOptions options) in c:\zproj\couchbase-net-client\src\Couchbase\Cluster.cs:line 121
at CloudValidation.Program.Main(String[] args) in c:\zproj\CloudValidation\CloudValidation\Program.cs:line 46
at CloudValidation.Program.<Main>(String[] args)
c:\zproj\CloudValidation\CloudValidation\bin\Debug\netcoreapp3.1\CloudValidation.exe (process 5132) exited with code -532462766.
Press any key to close this window . . .
I am pretty sure this is fixed, I think Mathew's issue is related to connectivity as he mentioned that SDK Dr returned some errors. Note that the patch is merged, so anybody can validate this by pulling master.