Sockets errrors when pooling=true

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for PostgreSQL
Post Reply
bradk
Posts: 34
Joined: Thu 20 Apr 2006 01:42

Sockets errrors when pooling=true

Post by bradk » Sun 11 Mar 2007 21:53

We've been struggling with sockets errors in our staging environment from the Corelab provider. The error only occurs if pooling is enabled in the connection string. When pooling is turned off performance is terrible so this is not an option. This is running through an asp.net app on Windows 2003 Server (multi-processor), using a licensed copy of Corelab version 2.50. The number of actual connections on the server is very low, less than 30, and max connections is set to 200.

Code: Select all

CoreLab.PostgreSql.PgSqlException: Unable to write data to the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
   at System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
   at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
   --- End of inner exception stack trace ---
   at CoreLab.PostgreSql.k.b(Byte[] A_0, Int32 A_1, Int32 A_2)
   at CoreLab.PostgreSql.k.j()
   at CoreLab.PostgreSql.a.a(String A_0, String A_1)
   at CoreLab.PostgreSql.a.l()
   at CoreLab.PostgreSql.a.q()
   at CoreLab.PostgreSql.t.h()
   at CoreLab.PostgreSql.t.b()
   at CoreLab.Common.DbConnectionFactory.a(DbConnectionBase A_0)
   at CoreLab.Common.DbConnectionClosed.Open(DbConnectionBase outerConnection)
   at CoreLab.PostgreSql.PgSqlConnection.Open()
   at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
   at Microsoft.Practices.EnterpriseLibrary.Data.Database.DoLoadDataSet(DbCommand command, DataSet dataSet, String[] tableNames)
   at Microsoft.Practices.EnterpriseLibrary.Data.Database.LoadDataSet(DbCommand command, DataSet dataSet, String[] tableNames)
   at Microsoft.Practices.EnterpriseLibrary.Data.Database.LoadDataSet(DbCommand command, DataSet dataSet, String tableName)
   at Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteDataSet(DbCommand command)
   at ChannelAdvisor.ELData.ChannelEngine.schemastatic.getrs(String config, String _schemaid)ChannelAdvisor.ELData.ChannelEngine.schemastatic.getrs

Alexey
Posts: 2756
Joined: Mon 13 Mar 2006 07:43

Post by Alexey » Mon 12 Mar 2007 09:40

Please send me small test project to reproduce the problem. It is desirable to use 'test' schema objects, otherwise include definition of your own database objects.
Use e-mail address provided in the Readme file.
Do not use third party components.

bradk
Posts: 34
Joined: Thu 20 Apr 2006 01:42

Post by bradk » Mon 12 Mar 2007 16:53

We have found this to be a NIC teaming issue, unrelated to your product. Thank you.

Alexey
Posts: 2756
Joined: Mon 13 Mar 2006 07:43

Post by Alexey » Tue 13 Mar 2007 09:18

OK, I see.

Post Reply