[jboss-jira] [JBoss JIRA] Created: (JBCACHE-1026) Concurrent creation of nodes fails with optimistic locking, even if nodes are empty and contain no data.

Manik Surtani (JIRA) jira-events at lists.jboss.org
Tue Apr 17 13:51:30 EDT 2007


Concurrent creation of nodes fails with optimistic locking, even if nodes are empty and contain no data.
--------------------------------------------------------------------------------------------------------

                 Key: JBCACHE-1026
                 URL: http://jira.jboss.com/jira/browse/JBCACHE-1026
             Project: JBoss Cache
          Issue Type: Bug
      Security Level: Public (Everyone can see)
    Affects Versions: 1.4.1.SP3
            Reporter: Manik Surtani
         Assigned To: Manik Surtani
            Priority: Minor
             Fix For: 2.0.0.CR1, 2.0.0.GA, 1.4.1.SP4


Create /parent/child1 and /parent/child2 concurrently.  This is a race condition where when trying to validate the 2 txs, both txs have /parent marked as "created" in their workspace.  When tx1 commits, this succeeds.  When tx2 tries to commit, ths fails validation since /parent exists in the tree even though it is marked as created in tx2's workspace.

This manifests itself in exceptions such as 

org.jboss.cache.optimistic.DataVersioningException: Tx attempted to create /parent anew. It has already been created since this tx started by another (possibly remote) tx.

Now this is VALID behaviour since we shouldn't attempt to create /parent twice, but as an optimisation, it should be allowed to succeed IF when tx2 attempts to validate, the node exists in the tree AND doesn't contain any data or the node does not exist in the workspace.



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list