[infinispan-dev] XAResource.isSameRM

Jonathan Halliday jonathan.halliday at redhat.com
Thu Jan 6 09:45:07 EST 2011


On 01/06/2011 02:29 PM, Mircea Markus wrote:

> At the moment the *only way to transactionally* access a
> node is by collocating the client and the server in the same
> VM.

So the scope of the transaction is limited to data residing 
in that local node? What if I want a single transaction to 
span the local node and data in a remote node? Or what about 
where the data is all in the local node, but the node has a 
remote replica for fault tolerance?

> client and the node in same VM ... if the node crashes you can
> safely assume that the client is crashed as well.

No, you can't. The client has persistent state on disk 
courtesy of the transaction manager log and will restore 
that after the crash. It's not volatile. The transaction 
updates may also have spanned out to other systems. Your 
model only works for infinispan in single node volatile 
store configurations. As soon as you cluster or spill to 
persistent backing store you are in trouble. That's better 
than nothing, but pretty limiting for users. I'm not really 
clear what advantage it has over implementing 
Synchronization rather than XAResource. Why are you 
bothering with 2PC if you're not going to actually provide 
ACID semantics?


Jonathan.

-- 
------------------------------------------------------------
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 
Peascod Street, Windsor, Berkshire, SI4 1TE, United Kingdom.
Registered in UK and Wales under Company Registration No. 
3798903  Directors: Michael Cunningham (USA), Charlie Peters 
(USA), Matt Parsons (USA) and Brendan Lane (Ireland)


More information about the infinispan-dev mailing list