[jboss-jira] [JBoss JIRA] Created: (JBCACHE-1292) endless loop on concurrent remove

Mircea Markus (JIRA) jira-events at lists.jboss.org
Mon Feb 18 11:34:26 EST 2008


endless loop on concurrent remove
---------------------------------

                 Key: JBCACHE-1292
                 URL: http://jira.jboss.com/jira/browse/JBCACHE-1292
             Project: JBoss Cache
          Issue Type: Bug
      Security Level: Public (Everyone can see)
    Affects Versions: 1.4.1.SP1
            Reporter: Mircea Markus
         Assigned To: Manik Surtani
             Fix For: 1.4.1.GA


Attached test fails on 1.4.1 SP1 and works on 1.4.0.SP1.
Issue was introduced in repository version 3089/TreeCache (see code snippet below).
On trunk this problem does not appear as the code logic is equivalent with the one before repository version 3089.
Guess the fix would be to change the logic to the one prio 3089, but this needs additional investigation.
(look for the word FAILURE in code below)
   private Node findInternal(Fqn fqn, boolean includeNodesMarkedAsRemoved)
   {
      if (fqn == null || fqn.size() == 0) return (Node) root;
      TreeNode n = root;
      int fqnSize = fqn.size();
      for (int i = 0; i < fqnSize; i++)
      {
         Object obj = fqn.get(i);
         n = n.getChild(obj);
         if (n == null)
            return null;
         else if (!includeNodesMarkedAsRemoved && ((DataNode) n).isMarkedForRemoval())//FAILURE!!!! this condition was not present in 1.4.0SP1, removing it makes the test pass
            return null;
      }
      return (Node) n;
   }


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