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

Startup performance improvement when log contains prepared transactions.

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 5.15.4
    • 5.15.5, 5.16.0
    • None
    • None

    Description

      I have a KahaDB that's performing a recovery on each startup.

      Digging deeper into it I've found that the issue is that the db.log contains prepared transactions.

      The MessageDatabase will discard those entries in memory, however it does not remove transaction info from those messages (I believe that's by design). So on each restart, the broker will find those entries and again discard them in memory.

      If I access the broker via JMX, I can go to the prepared XAs and execute a clear on them one by one.

      When i restart my broker, i don't have a recovery attempted again.

      Performing a remove operation for each message can be very time consuming, so i'd like to introduce an optional parameter to allow all prepared XAs to be removed on recovery.

      Please see my forth coming patch with unit test.

      Attachments

        Issue Links

          Activity

            People

              jgenender Jeff Genender
              charly Heath Kesler
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: