Dear Distinguished Colleagues:

Here is my use case.

For the most part my consumers are able to keep up with the workload, but once a week or so there is a huge burst of messages (millions) that need to be queued up for processing. We don't want producers blocked, so we want all the messages get queued up as fast as they come in even if it takes us longer to actually process them. Here are the policy entries:

<broker xmlns="http://activemq.apache.org/schema/core";
               brokerName="localhost" dataDirectory="./activemq-data"
destroyApplicationContextOnStop="true" persistent="true" useJmx="true">
….
<policyEntries>
<policyEntry topic=">" producerFlowControl="false"
                                               memoryLimit="64mb">
                                               <pendingSubscriberPolicy>
                                                       <fileCursor />
                                               </pendingSubscriberPolicy>
                                       </policyEntry>
<policyEntry queue=">" producerFlowControl="false"
                                               memoryLimit="64mb">
                                               <pendingQueuePolicy>
                                                       <fileQueueCursor />
                                               </pendingQueuePolicy>
                                       </policyEntry>
                               </policyEntries>
….
<persistenceAdapter>
<kahaDB directory="${activemq.base}/activemq-data/kahadb" />
               </persistenceAdapter>


What happens is that after all is done processing and queue sizes are down to 0 (I checked in jconsole), the activemq-data directory is still consuming a couple of dozen gigabytes of disk space. Isn't ActiveMQ supposed to clean up after itself ? I know it does because at some point the disk utilization grows to almost a 100 gig, but then it shrinks back down to 30 or so -- and stays there. Why is that ?

We are using AMQ 5.5.1, embedded broker.

Any input is greatly appreciated.

Regards,
Oleg


Reply via email to