activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Torsten Mielke (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMQ-4480) mkahadb with perDestination="true" lazily loads kahadb journal files after startup
Date Mon, 22 Apr 2013 13:39:15 GMT

    [ 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

Mime
View raw message