Paul Robinson [
https://community.jboss.org/people/paul.robinson] created the discussion
"Re: Implementing 1PC in WS-AT (WS-Atomic Transaction)"
To view the discussion, visit:
https://community.jboss.org/message/826402#826402
--------------------------------------------------------------
Chirag,
The problem with what you are suggesting is that you assume that the participant knows 1PC
will be used. However, 1PC is an optimization selected by the coordinator when it observes
that only one participant has been registered for the transaction. In many cases the
participant will not know that it is alone. I think you instead need to allow the
participant to notify the coordinator that it is capable of participating in a 1PC or 2PC
protocol. The coordinator would then select the 1PC optimization if there is only one
participant registered for the transaction and only if that participant is 1PC capable.
WS-AT allows individual participants to register for different protocols. See "3
AtomicTransactionProtocols" of the WS-AT spec. I think you would probably need to add
another one of those protocols for a 2PC protocol that can also do 1PC. You will probably
also need to consider what the state table would like like for your new protocol. This
would need to be inline with those in section "9 State Tables".
From the implementation point of view, XTS has protocol engines for
each of the protocols in the WS-AT spec. You would need to add a new one of those to
handle the new protocol. There's other things too, that you would need to do to
implement it, but we can get into that later.
The new protocol would also need to support recovery. But again, we can consider that
later. Maybe this is something outside of the scope of your masters project?
Paul.
--------------------------------------------------------------
Reply to this message by going to Community
[
https://community.jboss.org/message/826402#826402]
Start a new discussion in JBoss Transactions Development at Community
[
https://community.jboss.org/choose-container!input.jspa?contentType=1&...]