Subject: Re: [boost] [transaction] New Boost.Transaction library under discussion
From: Bob Walters (bob.s.walters_at_[hidden])
Date: 2010-01-23 21:34:46
On Mon, Jan 18, 2010 at 4:02 PM, Stefan Strasser <strasser_at_[hidden]> wrote:
> the resource only has to make sure that the state that was the basis for
> signalling a successful prepare-phase in a two-phase-commit is upheld until
> prepare: returns if the transaction can be committed.
> commit: publish the local modifications. if prepare signalled a successful
> transaction, this has to succeed.
IIUC, you are essentially proposing we implement resource managers per
the XA standard, correct?
(http://www.opengroup.org/onlinepubs/009680699/toc.pdf) I'm basing
this on your previous reference to BerkeleyDB's XA APIs.
How far do you intend to go with ensuring the recoverability of these
multi-resource transactions? Specifically,
The XA standard requires that RMs persist the state of the transaction
during prepare() so that the transaction can still be completed or
rolled back, consistently across all RMs even if the two-phase commit
is interrupted by process failures. The TM itself must have some form
of persistent storage to track the state of all such transactions, for
recovery processing. Am I understanding your intention correctly?