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.