This content has been marked as final.
Show 5 replies
-
1. Re: Patch adding transactional putSilent() method
manik Sep 17, 2007 9:57 AM (in response to cyberax)Thanks for this, will review and get back to you
-
2. Re: Patch adding transactional putSilent() method
manik Sep 18, 2007 1:16 PM (in response to cyberax)Just an initial thought on your patch, but by not suspending any ongoing transactions and working on the workspace nodes directly means that this fix isn't portable across node locking schemes. In the pessimistic case this will still allow cache failures to cause your business transactions to roll back.
-
3. Re: Patch adding transactional putSilent() method
cyberax Sep 19, 2007 8:13 AM (in response to cyberax)"manik.surtani@jboss.com" wrote:
Just an initial thought on your patch, but by not suspending any ongoing transactions and working on the workspace nodes directly means that this fix isn't portable across node locking schemes. In the pessimistic case this will still allow cache failures to cause your business transactions to roll back.
Yes, I know. I was not interested in pessimistic locking when I wrote this patch.
Please, correct me if I'm wrong, I think that we can just discard exceptions from put() method in pessimistic locking mode. -
4. Re: Patch adding transactional putSilent() method
manik Sep 19, 2007 9:36 AM (in response to cyberax)I realise you're not interested in pessimistic locking, but any optimisation needs to be generic enough to work across both schemes. :-)
Not if this is within a tx. This could cause the whole tx to rollback. -
5. Re: Patch adding transactional putSilent() method
cyberax Sep 19, 2007 1:39 PM (in response to cyberax)"manik.surtani@jboss.com" wrote:
I realise you're not interested in pessimistic locking, but any optimisation needs to be generic enough to work across both schemes. :-)
I'll try to generify my optimization :)Not if this is within a tx. This could cause the whole tx to rollback.
As far as I understand by reading PessimisticLockInterceptor, rollback is caused by UpgradeException/TimeoutException/... propagating through the stack. So the easiest solution is to ignore these exceptions for putSilent() nodes. Am I correct?