On 2 Sep 2010, at 10:51, Mircea Markus wrote:
On 2 Sep 2010, at 10:43, Manik Surtani wrote:
> You mean when a transaction times out? Or when a task within the transaction throws
a TimeoutException within Infinispan (such as timeouts on lock acquisition or RPC)?
timeout on lock acquisition.
>
> If it is the former, then the transaction manager aborts the transaction and calls
for a rollback.
yes
> The latter would propagate to the transaction manager as an application error and
also trigger an abort/rollback.
it's in our control what to do in this situation, as this happens on the user's
thread and doesn't involve the TM. If we cannot acquire locks for a timeout shall we:
- throw the TE to the user (we already do that)
- mark the tx for rollback OR just leave the tx as it is and allow the user to retry?
E.g.:
tm.begin()
caceh.put(k1); //this throws TE - what would be the status of the transaction after TE is
thrown?
I would think this should cause the transaction to abort/rollback.
--
Manik Surtani
manik(a)jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org