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