[infinispan-dev] Transactions and using synchronizations instead of XA - and ISPN-1284
Manik Surtani
manik at jboss.org
Sat Jan 7 11:57:44 EST 2012
After spending some hours on ISPN-1284, I think we have a few conceptual problems with using Synchronizations.
Here is the topic branch containing my work:
https://github.com/maniksurtani/infinispan/tree/t_1284
So far what I have done is:
* Changed defaults
* Changed config validations to emit a warning and disable synchronisations if recovery is enabled
* Update some tests that rely on XA to specifically set synchronisations to false
But there are still some issues, and what specifically worry me is behaviour demonstrated by these two test failures:
testModsCommit(org.infinispan.lock.StaleEagerLocksOnPrepareFailureTest)
testNoModsCommit(org.infinispan.lock.StaleEagerLocksOnPrepareFailureTest)
They both attempt to abort a transaction by throwing an exception during prepare. Now since we use Synchronizations by default, these failures do *not* abort the transaction since it is only seen by the SynchronizationAdapter in afterCommit(). Where does this stand, conceptually? With optimistic transactions, locks may not be able to be acquired at prepare-time. These transactions should fail.
Cheers
Manik
--
Manik Surtani
manik at jboss.org
twitter.com/maniksurtani
Lead, Infinispan
http://www.infinispan.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20120107/c8cdbed9/attachment.html
More information about the infinispan-dev
mailing list