Hi,

Activemq version 5.10.2, storage: leveldb.

I have a queue which serves similiar function as dead letter queue. My
application process messages from another queue and if the processing
fails, it put the message into this queue. The messages are persistent  and
average several KBs in size. My application processes many messages but the
failed message count is very small, less than 100 a day. I noticed after
the application running for several days, my activemq storage becomes
almost full. I configured the storage to 30G. I checked the normal queues
and topics and there is no queue with large count of message. Most of them
are empty and some have only several messages. Only the failure message
queue I metioned above has a few hundred messages(about 500) which are
accumulated in several days.

I have no idea what takes so much storage. I checked the storage files and
found there are many db-xxxx.log with timestamp almost through the several
days. They are not consequent though. Some of the db-xxx.log files are not
there. So the file list is like this:
db-1000.log
db-1001.log
db-1003.log
db-1004.log
db-1005.log
db-1008.log
...
I suspect the failed messages are in those db-xxx.log files so I just tried
to clear the failed message queue. Right after that I found those old
db-xxx.log disappeared and the storage usage went back to 2%. So it seems
clear that the about 500 failed messages took around 30G storage. But how
can it be? Those messages are very small in size and the total size of the
messsage should be no more than a few MBs.

Reply via email to