[jboss-jira] [JBoss JIRA] Created: (JBCACHE-1298) Removal of non-existent node leaves invalid tombstone on remote nodes

Brian Stansberry (JIRA) jira-events at lists.jboss.org
Wed Feb 27 15:21:45 EST 2008


Removal of non-existent node leaves invalid tombstone on remote nodes
---------------------------------------------------------------------

                 Key: JBCACHE-1298
                 URL: http://jira.jboss.com/jira/browse/JBCACHE-1298
             Project: JBoss Cache
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: Optimistic Locking, Replication
            Reporter: Brian Stansberry
         Assigned To: Manik Surtani
             Fix For: 2.1.0.CR4


Problem with optimistic locking and invalidation:

Say node with Fqn "/a" doesn't exist in memory in any cache in cluster.

On node1, call to cache.removeNode("/a") is made.  This is a valid call even though "/a" doesn't exist in the local cache -- caller wants it removed/invalidated across the cluster.

This results in an invalidate() call around the cluster for "/a".  Since "/a" doesn't exist, no DataVersion is passed with the call.

On other nodes in the cluster, the invalidate() method detects that "/a" doesn't exist locally.  So, invalidate() creates a tombstone for "/a".  Tombstone gets initialized with a DefaultDataVersion.  Since no other DataVersion was passed with the call, the tombstone gets left with that DefaultDataVersion.

Now on node2 an attempt is made to do a put to "/a", passing in a DataVersion.  The put fails with a version conflict due to the presence of the tombstone.

InvalidationInterceptorTest.testAddOfDeletedNonExistent() shows the problem.  This same issue is coming up in the Hibernate/JBC integration tests.


-- 
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