Gary Tully created AMQ-6520: ------------------------------- Summary: support indexDirectory attribute via mKahaDB Key: AMQ-6520 URL: https://issues.apache.org/jira/browse/AMQ-6520 Project: ActiveMQ Issue Type: Bug Components: Message Store Affects Versions: 5.14.0 Reporter: Gary Tully Assignee: Gary Tully Fix For: 5.15.0
AMQ-5072 added the index directory to kahadb such that the index can be on a different volume to the journal data. With mKahadb, this information is lost when the perDestination option is used. eg: Start a standalone broker with the following mKahaDB configuration. {code} <mKahaDB directory="${data}/kahadb"> <filteredPersistenceAdapters> <filteredKahaDB perDestination="true"> <persistenceAdapter> <kahaDB journalMaxFileLength="32mb" indexDirectory="/tmp/kindex"/> </persistenceAdapter> </filteredKahaDB> </filteredPersistenceAdapters> </mKahaDB> {code} With the above cfg, the indices for each of the created queues reside in what would be the default location. For example, given a queue called FOOBAR, its corresponding index files will be found in ../data/amq/kahadb/queue#3a#2f#2fFOOBAR and not /tmp/kindex/queue#3a#2f#2fFOOBAR With the cfg below, the indices for 'FOO.>' and 'BAR.>' are being created in their respective directories (i.e., under kindex1 and kindex2). {code} <mKahaDB directory="${data}/kahadb"> <filteredPersistenceAdapters> <filteredKahaDB queue="FOO.>"> <persistenceAdapter> <kahaDB journalMaxFileLength="32mb" indexDirectory="/tmp/kindex1"/> </persistenceAdapter> </filteredKahaDB> <filteredKahaDB queue="BAR.>"> <persistenceAdapter> <kahaDB journalMaxFileLength="32mb" indexDirectory="/tmp/kindex2"/> </persistenceAdapter> </filteredKahaDB> </filteredPersistenceAdapters> </mKahaDB> {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)