On 21 Jan 2011, at 16:34, Galder ZamarreƱo wrote:
Hi,
Re:
https://issues.jboss.org/browse/ISPN-845
This is causing issues with use cases such as the Hibernate 2LC. Imagine this scenario:
tx.begin();
cache1.get();
cache2.put();
cache3.remove();
tx.commit();
At commit time, 3 prepares are generated of which, the 1st prepare is marked as readonly
(no mods made on cache1), so that prepare is committed in advance.
Now, when tx.commit() is called it fails cos the first tx for cache1 has already been
committed.
I guess this is because the XAResource doesn't find the tx in the
transaction table. I guess the way to go is to delist it after committing, let me ping
Jonathan to see :)
if (trace) log.trace("no tx found for {0}", xid);
throw new XAException(XAException.XAER_NOTA);
There's a test that simulates this kind of scenario in Infinispan 2LC testsuite.
A different solution is needed and seems like this was discussed this week in Newcastle?
(
https://issues.jboss.org/browse/ISPN-887)
Cheers,
--
Galder ZamarreƱo
Sr. Software Engineer
Infinispan, JBoss Cache
_______________________________________________
infinispan-dev mailing list
infinispan-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev