Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-2922

Add ability for KahaDB log files to be created on a per-destination basis.

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.4.0
    • 5.6.0
    • Message Store
    • None
    • All

    Description

      KahaDB persistence uses rolling log files to store unconsumed messages. These are named db-1.log, db-2.log ... db3.log. At present these files contain messages for all destinations managed by the broker.

      A configurable option could be added that would allow these files to be created on a per-destination basis. For example, if the broker contained two queue destinations, queue_1 and queue_2, the log files would become:

      queue_1-1.log, queue_1-2.log....etc
      queue_2-1.log, queue_2-2.log....etc

      Each set of log files would only contain messages for the relevant destination.

      This would help in the following situation:

      queue_1: receives one message every 15 seconds or so. These messages remain unconsumed for several hours.
      queue_2: receives thousands of messages per second. These messages are consumed as they arrive.

      At present, the scenario above leads to each log files containing a few messages that have yet to be consumed and thousands of messages that have been consumed, but the log file cannot be deleted until all messages logged in it have been consumed (which may be hours later).

      Logging on a per-destination basis would allow the log files for queue_2 in the above example to be deleted, meaning the unconsumed messages on queue_1 take up far less disk space. This would also reduce the number of file handles required.

      Attachments

        1. activemq.xml
          7 kB
          Peter Blackburn
        2. multistore.diff
          12 kB
          Peter Blackburn

        Issue Links

          Activity

            People

              gtully Gary Tully
              pblackburn Peter Blackburn
              Votes:
              4 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: