OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

business-transaction message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: RE: State tables


Mark,

Yes, I agree with the behaviour (though one could make it that the cohesion
composer only persisted the atoms that it would confirm, telling the others
but leaving it to presume abort to sort them out if there is a failure)

This isn't directly stated in the state tables, but will need to be stated
in the explanation of "decide to commit". The state tables are concerned
purely with the communication between two parties (atom
coordinator:participant or cohesion composer:atom coordinator or atom
coordinator: subcoordinator), and the directly related persistent changes.
But how those latter work depends on where/what they are - in particular an
atom coordinator's "decide to confirm" to a participant will typically be
multi-step:
	persist information about the participant(s) and about cohesion composer
	submit its vote
	receive a confirm instruction from the composer

The atom coordinator *MAY* choose to change its persistent information to
show the decision, but given that the composer is doing the right thing
(i.e. following the rules you suggest), the atom coordinator is NOT REQUIRED
to make this change. If there is a failure, the atom coordinator will refind
the confirm decision from the composers persistent information and propagate
it to the participants.

We could have a state table for this kind of stuff as well (such will tend
to have set-based predicates) but it might be clearer to use text.

Peter

> Peter, the state tables look fairly comprehensive, and I haven't had a
> chance to read through them in detail, so what I'm about to re-iterate may
> be implied in them. About two months ago when we started fleshing out the
> BTP I mentioned that a cohesion coordinator, i.e., that entity
> which decides
> to prepare atoms A, B, and C, for example, and then decides to
> cancel A and
> C and confirm B, should make persistent:
>
> (i) information about which atoms it was using that have been prepared.
>
> (ii) what decision it is about to make, i.e., cancel A and C, and
> confirm B.
>
> This is similar to the role an atom coordinator would play, except that an
> atom coordinator simply remembers all of its prepared participants and has
> the same decision associated with them all, whereby the cohesion
> coordinator
> potentially has different decisions for each participant atom.
>
> Mark.
>
> ----------------------------------------------
> Dr. Mark Little (mark@arjuna.com)
> Transactions Architect, HP Arjuna Labs
> Phone +44 191 2064538
> Fax   +44 191 2064203
>
>
>



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC