+1. Even if they want to retry, they should start a new tx.
On Sep 2, 2010, at 11:55 AM, Manik Surtani wrote:
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
_______________________________________________
infinispan-dev mailing list
infinispan-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache