[infinispan-dev] locking optimisations reloaded

Mircea Markus mircea.markus at jboss.com
Wed May 25 07:18:26 EDT 2011


On 25 May 2011, at 09:12, Galder Zamarreño wrote:

> 
> On May 24, 2011, at 11:36 PM, Mircea Markus wrote:
> 
>> Hi,
>> 
>> This is re: http://community.jboss.org/wiki/PossibleLockingImprovements
>> 
>> I've created JIRAs for the locking optimisations as follows:
>> 
>> #1: https://issues.jboss.org/browse/ISPN-1131
> 
> For #1, how do you handle this case? (both threads on same node)
> 
> 1. Thread-1: does a transactional write on key=K1, value=A
> 2. Thread-2: non-transactional write on key=K1, value=B // not a problem since Thread-1 has not yet acquired WL
> 3. Thread-1: prepares, acquires a WL on K1, an overrides key=K1 to contain value=A ?
> 
> Since Thread-1 does not acquire WL on the write, concurrent non-transactional writes could be lost, couldn't they? 

I don't think this is an incorrect behaviour as the transaction isolation semantic is preserved. I'll run it by Jonathan to make sure.
This is also the case ATM, when you run the two threads on different nodes. Which raises another concern around the current early-locking approach: tx behaviour is influenced by where you run the tx. 
Ie. with same timing, if you run both transactions on the same node you'll get a different result than when you run transactions on different nodes. 


More information about the infinispan-dev mailing list