Details
Description
When using scheduled delivery, it is possible to grow the job scheduler store indefinitely. As no quota can be set on the size of this store, a malfunctioning, malicious, or prodigious producer can easily consume all available storage with scheduled messages without any alerts being raised by the broker. If the operators do not have disk space monitoring in place outside of the broker, the broker can become innoperable without warning.
Provide a mechanism to set a usage quota for the job scheduler store. The mechanism should conform to the current resource quota model provided by SystemUsage as well as provide monitoring through JMX.
I have attached a basic patch to add management, enforcement, and configurability to the size of the job scheduler data store. Any guidance on things I missed or did not account for would be greatly appreciated.
While testing the size reporting in JMX, I noticed that the he Kaha persistence adapter seems to calculate its size differently than the job scheduler store. It appears that the job scheduler store is reporting the size of the data files and index while the Kaha persistence adapter is only reporting the size of the data files. What is the reason for this difference? I noticed the difference because the broker was reporting a 33% usage of the job scheduler store (100MB limit) immediately on a clean broker startup.
Attachments
Attachments
Issue Links
- relates to
-
AMQ-3024 Scheduler should support non-Kaha persistence
- Resolved