On 31 May 2012, at 16:53, Sebastiano Peluso wrote:
Hi Mircea,
thanks for the answer. But can you confirm that the rollback command is
sent after the reception of all the participants' acknowledgements even
if we run Infinispan in *distribution* mode?
In particular, does the prepare phase break the cycle at line 335 of the
CommandAwareRpcDispatcher [1] if one of the remote prepares throws an
exception? In this case I think that the get() method of the associated
Future object throws an exception as well.
You are actually right, the broadcast
would react to the first exception and send the rollback, potentially causing a reordering
and a transaction leak.
I've created a JIRA[1] to track this together with a unit test - thank you Sebastiano
for the very good observation!
https://issues.jboss.org/browse/ISPN-2081