[
https://issues.apache.org/jira/browse/AMQ-4480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13637999#comment-13637999
]
Torsten Mielke edited comment on AMQ-4480 at 4/22/13 1:44 PM:
--------------------------------------------------------------
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 (or any
other value >64 that holds the full destination name plus another 14 characters
that get prepended when mapping the destination to a kahadb folder).
was (Author: tmielke):
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