[ 
https://issues.apache.org/jira/browse/AMQ-4480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13637999#comment-13637999
 ] 

Torsten Mielke commented on AMQ-4480:
-------------------------------------

This seems to be caused by the default file and dir name lengths used when 
converting dests to filenames. In code these are defined in 
activemq-broker/src/main/java/org/apache/activemq/util/IOHelper.java as 

{code:title=IOHelper.java}
static {
  MAX_DIR_NAME_LENGTH = Integer.getInteger("MaximumDirNameLength", 200);
  MAX_FILE_NAME_LENGTH = Integer.getInteger("MaximumFileNameLength", 64);
}
{code}


*Possible workarounds:*

- Don't use perDestination=true with mKahaDB

- don't use destination names > 50 characters.

- Pass the JVM option -DMaximumFileNameLength=150 to the broker JVM. 


                
> mkahadb with perDestination="true" lazily loads kahadb journal files after 
> startup
> ----------------------------------------------------------------------------------
>
>                 Key: AMQ-4480
>                 URL: https://issues.apache.org/jira/browse/AMQ-4480
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.7.0, 5.8.0
>            Reporter: Torsten Mielke
>
> Using the following mKahaDB config:
> {code:xml}
> <persistenceAdapter>
>   <mKahaDB directory="${activemq.data}/kahadb">
>     <filteredPersistenceAdapters>
>       <filteredKahaDB perDestination="true">
>       <persistenceAdapter>
>         <kahaDB journalMaxFileLength="32mb" />
>       </persistenceAdapter>
>       </filteredKahaDB>
>     </filteredPersistenceAdapters>
>   </mKahaDB>
> </persistenceAdapter>
> {code}
> Note perDestination="true". 
> Using that configuration and sending a message to a JMS queue whose name is 
> longer than 50 characters, this destination's messages won't be loaded 
> eagerly upon a restart of the broker. As a result that destination does not 
> show up in JMX. 
> Only when a producer or consumer connects to this destination, this 
> destination gets loaded from kahadb as this broker log output confirms
> {noformat}
> INFO | KahaDB is version 4
> INFO | Recovering from the journal ...
> INFO | Recovery replayed 1 operations from the journal in 0.0010 seconds.
> {noformat}
> This log output is written after the broker had completely started up. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to