activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Reynald Borer" <>
Subject Re: storeUsage inducing very strange behavior when limit is reached
Date Fri, 16 Jul 2010 15:07:38 GMT
Hi Gary,

Indeed you are right. My journalMaxFile was defined to 50mo, while the 
storeUsage limit was defined to 10mo only... thus the chunk that was 
used was never reclaimed, and induced a blocking behavior.

This also explains why from time to time the store percent used reports 
values while at the same time all queues are empty.

Anyway, I think it might be a good idea if such wrong configuration 
displays a warning message at startup, don't you think so ?


On 07/16/2010 03:58 PM, Gary Tully wrote:
> I think the problem is reclaiming store space, it happens in chunks of
> data file length, where journal data files are unreferenced by
> messages they can be reclaimed.
> Do you see data files being reclaimed? If not, try increasing the
> clean up period and/or decreasing the journalMaxFile length.
> On 16 July 2010 14:32, Reynald Borer<>  wrote:
>> Dear all,
>> I am facing a quite strange behavior of ActiveMQ relating to storeUsage,
>> which blocks completely the delivery of persistent messages even if all
>> messages have been consumed.
>> My test case is the following:
>> - start the server;
>> - produce enough persistent messages in order to reach the store limit (by
>> using ant producer -Ddurable=true -Dmax=10000); the producer is blocked
>> after N messages;
>> - check the admin web console, store percent used reports 100%; in the logs
>> I can see that "Usage Manager Store is Full" and that producer flow control
>> was engaged;
>> - start a consumer (with ant consumer -Dmax=10000); consumer will consume
>> messages and stop at N-1 (!)
>> - then, even if all messages are consumed, the producer is still blocked
>> (and the consumer is of course still waiting); if I check the web console,
>> the store percent used is now way higher than 100%, and no messages are
>> hanging in the queue.
>> I tried restarting the server, and another funny things happens. At startup,
>> store percent used is 0%, and the destination queue is empty. As soon as I
>> try to produce a persistent message, store percent used jumps again to a
>> value higher than 100%, and producer is blocked. Of course, starting a
>> consumer does not do anything as there is no message in the consumed queue.
>> The ActiveMQ configuration I am using can be found here:
>> . I tried with both versions 5.3.0 and 5.3.2 of
>> the server, and the only difference was that in 5.3.2 the logs about the
>> fact that the store was full contained the indication that the producer was
>> blocked for x seconds. I also tried to switch from AMQ persistent store to
>> KahaDB, still the same issue (but the reported store percent used takes much
>> higher values like 600%...)
>> Is there something I don't understand about store usage ? Or something wrong
>> in my configuration ?
>> Thanks in advance for your enlightenments,
>> Reynald Borer

View raw message