08.06.2018 12:16, Dimitry Sibiryakov wrote:
08.06.2018 11:01, Vlad Khorsun via Firebird-devel wrote:
   Another question is how to handle rollback error. I mean rollback that run
at catch block. I offer to ignore rollback error (maybe log it into 
firebird.log,
if database is not bug-checked) - we can do nothing with it anyway.

   I'd prefer rollback errors to be considered as bugchecks because they leave 
database in undefined (most likely broken) state.

  I try to avoid bugchecks as much as possible. In many cases it could be 
replaced
by usual error and not kill all other activity in database. It was more or less 
ok
in CS (as it affects just one connection) but it is overkill in many cases when 
we
speak about SS.

  As for rollback errors - it could happen due to bugcheck (and we don't need to
raise another one) or by another reason. In later case it is hard to imagine
how dead transaction could make database state broken. To be more precise - how 
it
could make additional harm after original error (say, disk write failure). Also,
note, bugcheck handling it not ideal currently. For example it not flushes page
cache and this really could make more damage than it could be.


Regards,
Vlad

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to