[
https://issues.apache.org/jira/browse/AMQ-6099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15067537#comment-15067537
]
Christopher L. Shannon commented on AMQ-6099:
---------------------------------------------
Yes, KahaDB will check the metadata of the index on start up and will fall
back. The relevant code is here:
https://github.com/apache/activemq/blob/a9eeb03520f074d5013239b8d8708a05ba31e176/activemq-kahadb-store/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java#L211
I also recently fixed a bug with the detection in AMQ-6082,
The problem is that this only works if the KahaDB index can be read. If the
index gets corrupted and has to be rebuilt, then the store openwire version
can't be detected and that's why the storeOpenWireVersion should be set to play
it safe.
> Allow broker to read any OpenWire version from KahaDB
> -----------------------------------------------------
>
> Key: AMQ-6099
> URL: https://issues.apache.org/jira/browse/AMQ-6099
> Project: ActiveMQ
> Issue Type: New Feature
> Components: KahaDB
> Affects Versions: 5.x
> Reporter: Tim Bain
>
> The current KahaDB implementation only allows a single OpenWire version to be
> read from the store. This works fine during normal operations, but when a
> user upgrades to a version of ActiveMQ that uses a different OpenWire
> version, the new broker is unable to read any persisted messages from the
> store because of the version mismatch, as described in AMQ-5995.
> Broker upgrades are going to happen, and the requirement that they be done
> with an empty message store, or that the user apply temporary workarounds
> like running the old broker in a networked configuration that's not the
> standard config for the cluster, leads to a less-than-satisfactory experience
> during the upgrade. As much as possible, broker upgrades should be seamless;
> sometimes that's not possible, but in this case it seems like code that would
> be able to read any version of OpenWire but only write the current one (and
> that could be less-efficient with older versions if necessary) wouldn't be
> all that hard and would eliminate this problem.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)