[
https://issues.apache.org/jira/browse/AMQ-6082?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christopher L. Shannon resolved AMQ-6082.
-----------------------------------------
Resolution: Fixed
Fix Version/s: 5.14.0
5.13.1
Fix and test applied. KahaDB will now properly reset the configured version on
the new Metadata after a detected corruption.
> StoreOpenWireVersion is not properly set on KahaDB index corruption recovery
> ----------------------------------------------------------------------------
>
> Key: AMQ-6082
> URL: https://issues.apache.org/jira/browse/AMQ-6082
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker, KahaDB
> Affects Versions: 5.13.0
> Reporter: Christopher L. Shannon
> Assignee: Christopher L. Shannon
> Fix For: 5.13.1, 5.14.0
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)