activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Tully <gary.tu...@gmail.com>
Subject Re: Usage Manager Store is Full - Root Cause?
Date Tue, 24 Feb 2009 10:20:02 GMT
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 <mq@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 <mq@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

Mime
View raw message