Sockets errrors when pooling=true
Posted: 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