[jbosscache-dev] Issue with JBCACHE-1309 WAS: Branch for 2.1.X

Brian Stansberry brian.stansberry at redhat.com
Wed Apr 2 11:20:08 EDT 2008


Manik Surtani wrote:

>> < SNIP />
>>
>>>> ......
>>>> org.jboss.cache.invocation.CacheInvocationDelegate.put(CacheInvocationDelegate.java:488) 
>>>> What's going on here is fetchWorkspaceNode() is walking up the tree 
>>>> from /TS/test/org/hibernate/cache/UpdateTimestampsCache/Accounts to 
>>>> Fqn.ROOT, calling lockAndCreateWorkspaceNode() on each Fqn.  When it 
>>>> gets to Fqn.ROOT it fails.  This is because 
>>>> lockAndCreateWorkspaceNode() wants a write lock on the target node 
>>>> before making the workspace copy. In this case the WL can't be 
>>>> obtained, because a RL is held by the suspended tx.
>>>> Does lockAndCreateWorkspaceNode() need a write lock here?
>>
>> Probably not.  I'm guessing it could do with a RL instead, let me 
>> investigate.
> 
> Ok, this is only called when a node exists in the tree and it needs to 
> be added to the workspace.  In this case, we should only attempt to 
> acquire a read lock, not a write lock.  The write locks are acquired on 
> nodes marked as dirty when a transaction commits.
> 
> This fix is in svn (trunk and 2.1.X) and your tests - along with other 
> optimistic locking tests - pass.  I'm waiting for a full Hudson test 
> suite run.

Excellent; thanks for the quick turn. If all looks well can you deploy 
another 2.1.1-SNAPSHOT?. I'll rerun the Hibernate tests with it.

-- 
Brian Stansberry
Lead, AS Clustering
JBoss, a division of Red Hat
brian.stansberry at redhat.com



More information about the jbosscache-dev mailing list