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

Brian Stansberry (JIRA) jira-events at jboss.com
Mon Jan 29 00:00:57 EST 2007


     [ http://jira.jboss.com/jira/browse/JBCACHE-921?page=all ]

Brian Stansberry updated JBCACHE-921:
-------------------------------------

        Fix Version/s: 2.0.0.BETA1
                       1.4.1.SP1
    Affects Version/s: 2.0.0.ALPHA2
                       1.4.1.GA
             Assignee: Brian Stansberry  (was: Manik Surtani)

Bumping priority, as I'm concerned empty evicted nodes can cause locking problems with putForExternalRead()/putFailFast().

> Eviction should eventually clean 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) 
>    Affects Versions: 1.4.1.GA, 2.0.0.ALPHA2
>            Reporter: Brian Stansberry
>         Assigned To: Brian Stansberry
>             Fix For: 2.0.0.BETA1, 1.4.1.SP1
>
>
> 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