When socket.ConnectAsync returns synchronously, driver assumes that it is connected
The documentation of Socket.ConnectAsync says:
Returns "false" if the I/O operation completed synchronously. In this case, The "System.Net.Sockets.SocketAsyncEventArgs.Completed" event on the "e" parameter will not be raised and the "e" object passed as a parameter may be examined immediately after the method call returns to retrieve the result of the operation.
But we are relying only on the Completed event to verify whether the connect operation was successful.
Here is an exception seen in the duration test logs:
This was reproduced with a test running on xenial against DSE-6.7.7 with netcoreapp2.1 target and .NET Core 2.2 SDK
merged to dse
merged to OSS