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)

Reply via email to