[infinispan-issues] [JBoss JIRA] Resolved: (ISPN-76) BDBJE - Improve scaling/performance of expiration purging

Adrian Cole (JIRA) jira-events at lists.jboss.org
Thu May 14 16:33:46 EDT 2009


     [ https://jira.jboss.org/jira/browse/ISPN-76?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adrian Cole resolved ISPN-76.
-----------------------------

    Resolution: Done


Elias solution worked well

> BDBJE - Improve scaling/performance of expiration purging
> ---------------------------------------------------------
>
>                 Key: ISPN-76
>                 URL: https://jira.jboss.org/jira/browse/ISPN-76
>             Project: Infinispan
>          Issue Type: Task
>          Components: Loaders and Stores
>            Reporter: Elias Ross
>            Assignee: Adrian Cole
>             Fix For: 4.0.0.BETA1, 4.0.0.GA
>
>
> (This problem may apply to other cache storage solutions as well.)
> The expiration purge code iterates and loads the entire database to find expired entries, which is highly inefficient.
>    protected void purgeInternal() throws CacheLoaderException {
>       try {
>          Iterator<Map.Entry<Object, InternalCacheEntry>> i = cacheMap.entrySet().iterator();
>          while (i.hasNext()) {
>             if (i.next().getValue().isExpired())
>                i.remove();
>          }
> Should maintain a separate time -> key association. BDB-JE has a "StoredSortedMap", so this should be straightforward to use. (See how JDBM handles eviction.)

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

        



More information about the infinispan-issues mailing list