Gary, Thanks for the suggestion, one more thing I didn't know. Makes sense when you think about it!
Unfortunately I have just checked and I'm using a maxDataFileLength of 32mb with a store of 128mb. I can see the four data files as I would expect. Oh well, I'll keep trying. Cheers Richard Gary Tully wrote: > > Hi Richard, > There is a caveat with disk usage and the default store. Space in the > store is reclaimed by deleting unreferenced data files during cleanup. > However, if the store consists of a single data file, it will not be > reclaimed as the single data file will always be referenced. > Thus it is necessary to configure a maximumFileLength for the store > that is less than half of the system usage store limit. In this way, > at least 2 data files will be used by the store and when sufficient > messages have been consumes such that one of the data files is no > longer referenced, the store usage will decrease when it is reclaimed > after cleanup. > There is a good description of using the usage manager in this way > along with some configuration that works at > http://open-source-adventures.blogspot.com/2009/01/limiting-disk-store-usage-with-active.html > (see this caveat mentioned at the end). > > hope this helps, > Gary. > > 2009/2/23 Scouser <m...@gmav.demon.co.uk>: >> >> Hiya >> >> Thanks for that - clarified the issue nicely, but I have now found >> something >> odd which may be related. >> >> If I use flow control with fairly small values for memoryLimit e.g. >> >> <policyEntry queue="xyz.Queue" useCache="true" producerFlowControl="true" >> memoryLimit="3mb"> >> >> Then if I generate a lot of messages I eventually get an exception as I >> would expect: >> >> javax.jms.ResourceAllocationException: SystemUsage memory limit reached >> >> At this point, producers can only write to the queue as space is freed up >> by >> by consumers so this works as I would expect. However, if I use a larger >> memoryLimit value and get an exception when I run out of storage: >> >> javax.jms.ResourceAllocationException: Usage Manager Store is Full >> >> then the producers seem to hang even if the pending messages are >> consumed. >> That is, they always generate a 'Usage Manager Store is Full' exception >> even >> if all the message have been consumed. I have also noticed that the >> 'Store >> percent used' value in the Admin application never drops once it has got >> to >> 100% >> >> Any thoughts? >> >> Cheers >> >> Richard >> >> >> >> >> >> Dejan Bosanac wrote: >>> >>> Hi, >>> >>> you have set "store usage" in your activemq.xml and set it to fail if >>> there >>> is no more space. I just put up a section describing this behavior >>> >>> http://cwiki.apache.org/confluence/display/ACTIVEMQ/Producer+Flow+Control#ProducerFlowControl-Systemusage >>> >>> Cheers >>> -- >>> Dejan Bosanac >>> >>> Open Source Integration - http://fusesource.com/ >>> ActiveMQ in Action - http://www.manning.com/snyder/ >>> Blog - http://www.nighttale.net >>> >>> >>> On Sun, Feb 22, 2009 at 3:52 PM, Scouser <m...@gmav.demon.co.uk> wrote: >>> >>>> >>>> I'm fairly new to activeMQ and have become stuck on an error. I don't >>>> seem >>>> to be able to find much out about the root cause. I have a small >>>> example >>>> which send messages to a couple of queues and reads the messages out. >>>> I'm >>>> using Spring's JMS template etc to do most of the hard work. >>>> Eventually >>>> I >>>> get the following crash: >>>> ... >>>> SEVERE: Usage Manager Store is Full; nested exception is >>>> javax.jms.ResourceAllocationException: Usage Manager Store is Full >>>> org.springframework.jms.ResourceAllocationException: Usage Manager >>>> Store >>>> is >>>> Full; nested exception is javax.jms.ResourceAllocationException: Usage >>>> Manager Store is Full >>>> at >>>> >>>> org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:298) >>>> at >>>> >>>> org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168) >>>> at >>>> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:474) >>>> >>>> ... >>>> Caused by: javax.jms.ResourceAllocationException: Usage Manager Store >>>> is >>>> Full >>>> at >>>> org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:430) >>>> at org.apache.activemq.broker.region.Queue.send(Queue.java:417) >>>> at >>>> >>>> org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:354) >>>> ... >>>> >>>> So, what is the 'Usage Manager' ?, any ideas what I may have done >>>> wrong?, >>>> any and all help appreciated! >>>> >>>> >>>> -- >>>> View this message in context: >>>> http://www.nabble.com/Usage-Manager-Store-is-Full---Root-Cause--tp22147570p22147570.html >>>> Sent from the ActiveMQ - User mailing list archive at Nabble.com. >>>> >>>> >>> >>> >>> ----- >>> Dejan Bosanac >>> >>> Open Source Integration - http://fusesource.com/ >>> ActiveMQ in Action - http://www.manning.com/snyder/ >>> Blog - http://www.nighttale.net >>> >> >> -- >> View this message in context: >> http://www.nabble.com/Usage-Manager-Store-is-Full---Root-Cause--tp22147570p22172029.html >> Sent from the ActiveMQ - User mailing list archive at Nabble.com. >> >> > > > > -- > http://blog.garytully.com > > Open Source SOA > http://FUSESource.com > > -- View this message in context: http://www.nabble.com/Usage-Manager-Store-is-Full---Root-Cause--tp22147570p22188756.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.