[jboss-jira] [JBoss JIRA] Created: (JBCACHE-921) Eviction eventually cleans up nodes that are cleared but not removed

Brian Stansberry (JIRA) jira-events at jboss.com
Tue Jan 2 16:52:37 EST 2007


Eviction eventually cleans up nodes that are cleared but not removed
--------------------------------------------------------------------

                 Key: JBCACHE-921
                 URL: http://jira.jboss.com/jira/browse/JBCACHE-921
             Project: JBoss Cache
          Issue Type: Feature Request
      Security Level: Public (Everyone can see)
            Reporter: Brian Stansberry
         Assigned To: Manik Surtani


Eviction does not remove nodes that have children, it only clears their data map.  If such nodes are never accessed again, the eviction thread will never process them, and they will never be removed, leaving around several hundred bytes of litter per node.

E.g.

1) create /a/1
2) create /a/1/xxx

An LRU policy will try to evict /a/1 first, but the node will not be removed because /a/1/xxx still exists.  Later /a/1/xxx will be evicted, but unless some event occurs that puts an entry for /a/1 back into the queue, it will never be evicted.

One possible solution is to have CacheImpl._evict return a boolean that indicates if the node was actually removed.  EvictionInterceptor could track that return value, and if false, add a new event to the region, perhaps with a new NodeEventType.  Eviction policies could then revisit those nodes on the next run of the thread.

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