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

StoreOpenWireVersion is not properly set on KahaDB index corruption recovery

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.13.0
    • 5.13.1, 5.14.0
    • Broker, KahaDB
    • None

    Description

      The BrokerService has a property called storeOpenWireVersion to set the specified OpenWire version to use for the store.

      On start up, KahaDB will first set this value as the OpenWire version used in the index metadata in memory, and then if it detects a different version when reading in an existing index, it will reset the the version to the version that was detected.

      The problem is that if a corrupted index is detected during the reading of the index, the metadata is recreated in the catch block but the storeOpenWireVersion that was set on the BrokerService is never copied back to the new Metadata. This happens in the open() method of MessageDatabase.

      This causes marshalling errors because the index will now be recreated with the default OpenWire version instead of the actual version that was set on the broker.

      Attachments

        Activity

          People

            cshannon Christopher L. Shannon
            cshannon Christopher L. Shannon
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: