Details
-
Bug
-
Resolution: Fixed
-
Major
-
2.3.9
-
Linux
Description
Exception occurs setting socket keep alives when running on Linux:
2016/10/01 03:28:48:109 [INFO] Couchbase.IO.ConnectionPool`1[[Couchbase.IO.IConnection, Couchbase.NetClient, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]] - Node 10.34.69.102:11210 failed to initialize, reason: System.PlatformNotSupportedException: Operation is not supported on this platform.
at System.Net.Sockets.SocketPal.WindowsIoctl(SafeCloseSocket handle, Int32 ioControlCode, Byte[] optionInValue, Byte[] optionOutValue, Int32& optionLength)
at System.Net.Sockets.Socket.IOControl(Int32 ioControlCode, Byte[] optionInValue, Byte[] optionOutValue)
at Couchbase.IO.Utils.SocketExtensions.SetKeepAlives(Socket socket, Boolean on, UInt32 time, UInt32 interval)
at Couchbase.IO.DefaultConnectionFactory.<>c_0`1.<GetGeneric>b_0_0(IConnectionPool`1 p, IByteConverter c, BufferAllocator b)
at Couchbase.IO.ConnectionPool`1.Initialize()
The Socket.IOControl method doesn't appear to be supported on Linux for keep alives.