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 ?

Cheers,
Reynald


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<reynald.bo...@elca.ch>  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:
http://pastebin.org/399426 . 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




Reply via email to