[ZODB-Dev] what the transaction messages mean?

Barry Warsaw barry at python.org
Wed Apr 30 04:33:17 EDT 2003


On Tue, 2003-04-29 at 18:19, Jeremy Hylton wrote:
> Guido observed that ZODB is not particularly robust about failures that
> occur during the second phase of the two-phase commit.  The transaction
> manager does not have a recovery log or an API for inquiring about the
> results of failed transaction.  So if the TM or a client fails during
> the commit phase, the uncommitted clients have no way to find out that
> the transaction committed.

The right storage can help here.  Berkeley storages have a recovery
mechanism so that if some failure occurs between the vote and finish,
the next time the database is opened, it can complete the 2nd phase of
tpc.  And because we're relying on BerkeleyDB's transactions and other
guarantees, we can hope that there's a smaller window of opportunity for
corruption.  Of course, there's still enough that can hosedly fail, but
I think Berkeley gives a fairly high degree of reliability.

-Barry





More information about the ZODB-Dev mailing list