Subject | Re: [firebird-support] OIT and OAT not moving |
---|---|
Author | Ivan Prenosil |
Post date | 2004-12-15T10:56:52Z |
> Well, limbo transactions occur during the commit phase of a cross-databaseIf one database has limbo transaction, the corresponding transaction
> transaction, when the connection between the two servers is lost before the
> two-phase commit completes. Both databases will have a limbo transaction
> which you need to deal with, either by committing or by rolling back.
in the other database can be (depending on what exactly happened)
in any of committed/rolledback/limbo state.
2pc only ensures that one transaction can't be committed while the other
is rolled back. (but even such situation can happen in case you incorrectly
resolve limbo transactions by gfix).
Ivan
http://www.volny.cz/iprenosil/interbase/