CONNECTION FAILURE after Postgres restart
Posted: Mon 06 Jul 2009 09:00
Hello everybody,
we have a problem with reconnection after DB server restart. First we get Socket anf "FATAL" exception (which is correct - we are stopping the SQL server). But then, when the server runs again, we are not able to make a connection and we get "CONNECTION FAILURE" exception. Clearing connection pool does not have any effect. When we restart the .NET application. Everything works well again (-> no problem with the SQL server itself).
We get the following sequence of exceptions:
Devart.Data.PostgreSql.PgSqlException: An established connection was aborted by the software in your host machine ---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at Devart.Data.PostgreSql.a.a(Exception A_0)
at Devart.Data.PostgreSql.a.a()
at Devart.Data.PostgreSql.a.f()
at Devart.Data.PostgreSql.t.a(Char A_0)
at Devart.Data.PostgreSql.t.a(Boolean A_0, Boolean A_1)
at Devart.Data.PostgreSql.t.af()
at Devart.Data.PostgreSql.t.b(String A_0)
at Devart.Data.PostgreSql.t.l()
at Devart.Data.PostgreSql.PgSqlCommand.InternalPrepare(Boolean implicitPrepare, Int32 startRecord, Int32 maxRecords)
at Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.ExecuteReader()
at Devart.Common.DbCommandBase.ExecuteNonQuery()
at Devart.Data.PostgreSql.PgSqlTransaction..ctor(PgSqlConnection A_0, IsolationLevel A_1)
at Devart.Data.PostgreSql.n.a(IsolationLevel A_0)
at Devart.Common.DbConnectionBase.BeginDbTransaction(IsolationLevel isolationLevel)
at System.Data.Common.DbConnection.BeginTransaction(IsolationLevel isolationLevel)
at ESG.Db.Relational.Shared.RelationalDataAccess.ExecutePlan(DbConnection connection, DatabaseOperationPlan plan, EsgTraceSource serverTraceSource)
EsgDb Error: 0 : Error in SaveData. Message: Devart.Data.PostgreSql.PgSqlException: An established connection was aborted by the software in your host machine ---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at ESG.Db.Relational.Shared.RelationalDataAccess.SynchronizeChanges(Credentials credentials, IEnumerable`1 records, ProcessQueriesResult& operationResult, DatabaseOperationPlan plan, Exception exc, Dictionary`2 usedServerVariables)
at ESG.Db.Relational.Shared.RelationalDataAccess.SaveData(Credentials credentials, IEnumerable`1 records)
at ESG.Db.Server.Engine.ServerImplementation.SaveDataPrivate(Credentials credentials, IEnumerable`1 records)
EsgDb Verbose: 0 : Entering SaveData
EsgDb Error: 0 : Error in SaveData. Message: Devart.Data.PostgreSql.PgSqlException: FATAL: the database system is shutting down
at Devart.Data.PostgreSql.n.x()
at Devart.Data.PostgreSql.n.a()
at Devart.Common.DbConnectionFactory.a(DbConnectionBase A_0)
at Devart.Common.DbConnectionClosed.Open(DbConnectionBase outerConnection)
at Devart.Common.DbConnectionBase.Open()
at Devart.Data.PostgreSql.PgSqlConnection.Open()
at ESG.Db.Relational.Shared.RelationalDataAccess.SaveData(Credentials credentials, IEnumerable`1 records)
at ESG.Db.Server.Engine.ServerImplementation.SaveDataPrivate(Credentials credentials, IEnumerable`1 records)
EsgDb Verbose: 0 : Entering SaveData
EsgDb Error: 0 : Error in SaveData. Message: Devart.Data.PostgreSql.PgSqlException: CONNECTION FAILURE
at Devart.Data.PostgreSql.PgSqlConnection.b()
at Devart.Data.PostgreSql.PgSqlConnection.Open()
at ESG.Db.Relational.Shared.RelationalDataAccess.SaveData(Credentials credentials, IEnumerable`1 records)
at ESG.Db.Server.Engine.ServerImplementation.SaveDataPrivate(Credentials credentials, IEnumerable`1 records)
EsgDb Verbose: 0 : Entering SaveData
EsgDb Error: 0 : Error in SaveData. Message: Devart.Data.PostgreSql.PgSqlException: CONNECTION FAILURE
at Devart.Data.PostgreSql.PgSqlConnection.b()
at Devart.Data.PostgreSql.PgSqlConnection.Open()
at ESG.Db.Relational.Shared.RelationalDataAccess.SaveData(Credentials credentials, IEnumerable`1 records)
at ESG.Db.Server.Engine.ServerImplementation.SaveDataPrivate(Credentials credentials, IEnumerable`1 records)
Thanks in advance,
Marek
we have a problem with reconnection after DB server restart. First we get Socket anf "FATAL" exception (which is correct - we are stopping the SQL server). But then, when the server runs again, we are not able to make a connection and we get "CONNECTION FAILURE" exception. Clearing connection pool does not have any effect. When we restart the .NET application. Everything works well again (-> no problem with the SQL server itself).
We get the following sequence of exceptions:
Devart.Data.PostgreSql.PgSqlException: An established connection was aborted by the software in your host machine ---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at Devart.Data.PostgreSql.a.a(Exception A_0)
at Devart.Data.PostgreSql.a.a()
at Devart.Data.PostgreSql.a.f()
at Devart.Data.PostgreSql.t.a(Char A_0)
at Devart.Data.PostgreSql.t.a(Boolean A_0, Boolean A_1)
at Devart.Data.PostgreSql.t.af()
at Devart.Data.PostgreSql.t.b(String A_0)
at Devart.Data.PostgreSql.t.l()
at Devart.Data.PostgreSql.PgSqlCommand.InternalPrepare(Boolean implicitPrepare, Int32 startRecord, Int32 maxRecords)
at Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.ExecuteReader()
at Devart.Common.DbCommandBase.ExecuteNonQuery()
at Devart.Data.PostgreSql.PgSqlTransaction..ctor(PgSqlConnection A_0, IsolationLevel A_1)
at Devart.Data.PostgreSql.n.a(IsolationLevel A_0)
at Devart.Common.DbConnectionBase.BeginDbTransaction(IsolationLevel isolationLevel)
at System.Data.Common.DbConnection.BeginTransaction(IsolationLevel isolationLevel)
at ESG.Db.Relational.Shared.RelationalDataAccess.ExecutePlan(DbConnection connection, DatabaseOperationPlan plan, EsgTraceSource serverTraceSource)
EsgDb Error: 0 : Error in SaveData. Message: Devart.Data.PostgreSql.PgSqlException: An established connection was aborted by the software in your host machine ---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at ESG.Db.Relational.Shared.RelationalDataAccess.SynchronizeChanges(Credentials credentials, IEnumerable`1 records, ProcessQueriesResult& operationResult, DatabaseOperationPlan plan, Exception exc, Dictionary`2 usedServerVariables)
at ESG.Db.Relational.Shared.RelationalDataAccess.SaveData(Credentials credentials, IEnumerable`1 records)
at ESG.Db.Server.Engine.ServerImplementation.SaveDataPrivate(Credentials credentials, IEnumerable`1 records)
EsgDb Verbose: 0 : Entering SaveData
EsgDb Error: 0 : Error in SaveData. Message: Devart.Data.PostgreSql.PgSqlException: FATAL: the database system is shutting down
at Devart.Data.PostgreSql.n.x()
at Devart.Data.PostgreSql.n.a()
at Devart.Common.DbConnectionFactory.a(DbConnectionBase A_0)
at Devart.Common.DbConnectionClosed.Open(DbConnectionBase outerConnection)
at Devart.Common.DbConnectionBase.Open()
at Devart.Data.PostgreSql.PgSqlConnection.Open()
at ESG.Db.Relational.Shared.RelationalDataAccess.SaveData(Credentials credentials, IEnumerable`1 records)
at ESG.Db.Server.Engine.ServerImplementation.SaveDataPrivate(Credentials credentials, IEnumerable`1 records)
EsgDb Verbose: 0 : Entering SaveData
EsgDb Error: 0 : Error in SaveData. Message: Devart.Data.PostgreSql.PgSqlException: CONNECTION FAILURE
at Devart.Data.PostgreSql.PgSqlConnection.b()
at Devart.Data.PostgreSql.PgSqlConnection.Open()
at ESG.Db.Relational.Shared.RelationalDataAccess.SaveData(Credentials credentials, IEnumerable`1 records)
at ESG.Db.Server.Engine.ServerImplementation.SaveDataPrivate(Credentials credentials, IEnumerable`1 records)
EsgDb Verbose: 0 : Entering SaveData
EsgDb Error: 0 : Error in SaveData. Message: Devart.Data.PostgreSql.PgSqlException: CONNECTION FAILURE
at Devart.Data.PostgreSql.PgSqlConnection.b()
at Devart.Data.PostgreSql.PgSqlConnection.Open()
at ESG.Db.Relational.Shared.RelationalDataAccess.SaveData(Credentials credentials, IEnumerable`1 records)
at ESG.Db.Server.Engine.ServerImplementation.SaveDataPrivate(Credentials credentials, IEnumerable`1 records)
Thanks in advance,
Marek