JBoss Community

Re: Implementing 1PC in WS-AT (WS-Atomic Transaction)

created by Paul Robinson in JBoss Transactions Development - View the full discussion

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

Start a new discussion in JBoss Transactions Development at Community