activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Reynald Borer" <>
Subject storeUsage inducing very strange behavior when limit is reached
Date Fri, 16 Jul 2010 13:32:17 GMT
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