Author Якушев Евгений
We have encountered a very bad problem: it is common situation when the client unexpectedly looses connection to the database server while transaction is opened, for instance client's computer suddenly lost the power or internet provider broke the connection. Unfortunatelly, it seems that Firebird server doesn't handle such situation correctly. Firebird keeps thinking that the client connection and transaction are still opened, this could be easily checked in MON$TRANSACTIONS. Therefore it sets the dead lock on the record which the client were modifing before connection break and there is no other way to unlock the record except restarting Firebird service. We use Firebird 2.5 and ado net provider for our client program, about 100 connections are opened simultaneously, Firebird server installed on Windows Server 2012 and run as a service. This problems occurs on classic sever as well as on superserver configurations. On classic server configuration we find a bunch of Firebird processes belonging to the "dead" connections with uncommited trunsactions. So here is the question: is it a Firebird bug or something wrong with the windows server? Unfortunatelly we have not found any usefull sollution on the web.
Best regards,