Cleanup Clean-up of unreferenced KahaDB journal log files data-<id>.log will occur every 30seconds 30 seconds by deafaultdefault. If a data file is in-use it will not be cleaned up. The definition of in-use is many fold. In the simplest case, a
A data file is may be in-use if it contains a pending because:
- It contains a pending message for a destination or durable topic subscription
...
- It contains an ack for a message which is in an in-use data file - the ack cannot be removed as a recovery would then mark the message for redelivery
- The journal references a pending transaction
- It is a journal file, and there may be a pending write to
...
- it
The trace level logging of the org.apache.activemq.store.kahadb.MessageDatabase class provides insight into the cleanup process and will allow you to determine why a given data file is considered in-use and as a result, not a candidate for cleanup.
To debug, add the following (or similar) to your log4j.properties file (if needed):
...