[ 
https://issues.apache.org/activemq/browse/AMQ-1082?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rob Davies reassigned AMQ-1082:
-------------------------------

    Assignee: Rob Davies

> Improve Kaha freeList
> ---------------------
>
>                 Key: AMQ-1082
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1082
>             Project: ActiveMQ
>          Issue Type: Improvement
>    Affects Versions: 4.2.0
>            Reporter: [EMAIL PROTECTED]
>         Assigned To: Rob Davies
>
> This is in kaha.impl.index.IndexManager.java.
> The index currently maintains an in-memory free list.  Each entry costs at 
> least 51 bytes of RAM.  Issue is that the more free space that there is in 
> the file, the more RAM is used (oddly enough).
> I am worried about the case where suppose a producer enqueues millions of 
> messages and then stops.  Now, suppose a consumer dequeues all of the 
> messages (no producers are starting up during this time, so the free entries 
> are not being reclaimed).  Seems like this could use a huge amount of memory. 
>  Yes, 51 MB is not that much, but suppose there are a bunch of consumers and 
> hence a ConsumerMessageRef for each one.  (Maybe I'm missing something....)
> Perhaps this linked list could be pushed into the Kaha store itself, by 
> rewriting the IndexItems on disk to point previous/next free item, thus 
> maintaining this on disk and in place.  For perf reasons, maybe supplement 
> with some caching but that might not really be necessary because the OS cache 
> should help out.
> A lot of the other places in Kaha (such as ListContainerImpl.java) have 
> caches which limit to say 100 cached items, but the free list seems to 
> obviate all of that stuff due to it being essentially unbounded.
> Any thoughts?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to