Author: buildbot
Date: Tue May 3 12:21:50 2016
New Revision: 987376
Log:
Production update by buildbot for activemq
Modified:
websites/production/activemq/content/cache/main.pageCache
websites/production/activemq/content/kahadb.html
Modified: websites/production/activemq/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/activemq/content/kahadb.html
==============================================================================
--- websites/production/activemq/content/kahadb.html (original)
+++ websites/production/activemq/content/kahadb.html Tue May 3 12:21:50 2016
@@ -91,7 +91,7 @@
</broker>
</pre>
-</div></div><h3 id="KahaDB-KahaDBProperties">KahaDB Properties</h3><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>property name</p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p>default value</p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p>Comments</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>directory</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>activemq-data</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>the path to the directory to use to store
the message store data and log files</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>IndexDirectory</p></td><td colspan="1"
rowspan="1" class="confluenceTd"> </td><td colspan="1" rowspan="1"
class="confluenceTd"><p><span>If set, configures where the KahaDB index files
will be stored. If not set, the index files are stored in the directory
specified by the 'directory' attr
ibute. </span></p><div class="confluence-information-macro
confluence-information-macro-note"><span class="aui-icon aui-icon-small
aui-iconfont-warning confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">Available as of ActiveMQ
5.10</div></div></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>storeOpenWireVersion</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>11</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Determines the version of OpenWire commands that are
marshalled to the KahaDB journal.  In versions prior to 5.12.0 this value
defaulted to v6.  Some features of the broker depend on information stored
in the OpenWire commands from newer protocol revisions and these may not work
correctly if the store version is set to a lower value.  KahaDB stores
from broker versions greater than 5.9.0 will in many cases still be readable by
the broker but will cause the broker to continue using the
older store version meaning newer features may not work as intended.  For
KahaDB stores that were created in versions prior to v5.9.0 it will be
necessary to manually set the store version to v6 in order to start a broker
without error.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>indexWriteBatchSize</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>1000</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>number of indexes written in a
batch</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>indexCacheSize</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>10000</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>number of index pages cached in
memory</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>enableIndexWriteAsync</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>if set, will asynchronously write inde
xes</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>journalMaxFileLength</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>32mb</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>a hint to set the maximum size of the message data
logs</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>enableJournalDiskSyncs</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>ensure every journal write is followed by a disk sync
(JMS durability requirement)</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>cleanupInterval</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>30000</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>time (ms) before checking for a discarding/moving
message data logs that are no longer used</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>checkpointInterval</p></td><td colspan="1"
rowspan
="1" class="confluenceTd"><p>5000</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>time (ms) before checkpointing the
journal</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ignoreMissingJournalfiles</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>If enabled, will ignore a missing message log
file</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>checkForCorruptJournalFiles</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>If enabled, will check for corrupted Journal files on
startup and try and recover them</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>checksumJournalFiles</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><span style="text-decoration:
line-through;">false</span> true <sub>v5.9</sub></p></td><td colspan="1"
rowspan="1" class="conflu
enceTd"><p>create a checksum for a journal file - to enable checking for
corrupted journals</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>archiveDataLogs</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>If enabled, will move a message data log to the archive
directory instead of deleting it.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>directoryArchive</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Define the directory to move data logs to when they all
the messages they contain have been consumed.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>maxAsyncJobs</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>10000</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>the maximum number of asynchronous messages that will
be queued awaiting storage (s
hould be the same as the number of concurrent
MessageProducers)</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>concurrentStoreAndDispatchTopics</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>enable the dispatching of Topic messages to
interested clients to happen concurrently with message storage
(<strong>Warning</strong>: Enabling this property is not
recommended)</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>concurrentStoreAndDispatchQueues</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>enable the dispatching of Queue messages to
interested clients to happen concurrently with message
storage</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>archiveCorruptedIndex</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" c
lass="confluenceTd"><p>If enabled, corrupted indexes found at startup will be
archived (not deleted)</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>preallocationStrategy</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>sparse_file</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>(as of 5.12.0) This setting configures how
the broker will try to preallocate the journal files when a new journal file is
needed. The default allocation strategy sets the file length, but does not
populate it with any data. The 'os_kernel_copy' strategy delegates the
preallocation to the Operating System. The 'zeros' strategy configures ActiveMQ
to do the preallocation by writing 0x00 to all of the positions in the journal
file.</p></td></tr></tbody></table></div><p>For tuning locking properties
please take a look at <a shape="rect"
href="pluggable-storage-lockers.html">Pluggable storage lockers</a></p><h3
id="KahaDB-Slowfilesystemaccessdiagnosticlogging">Slow fil
e system access diagnostic logging</h3><p>You can configure a non zero
threshold in mili seconds for database updates.<br clear="none"> If database
operation is slower than that threshold (for example if you set it to 500), you
may see messages like</p><div class="panel" style="border-width: 1px;"><div
class="panelContent">
+</div></div><h3 id="KahaDB-KahaDBProperties">KahaDB Properties</h3><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>property name</p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p>default value</p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p>Comments</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>directory</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>activemq-data</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>the path to the directory to use to store
the message store data and log files</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>IndexDirectory</p></td><td colspan="1"
rowspan="1" class="confluenceTd"> </td><td colspan="1" rowspan="1"
class="confluenceTd"><p><span>If set, configures where the KahaDB index files
will be stored. If not set, the index files are stored in the directory
specified by the 'directory' attr
ibute. </span></p><div class="confluence-information-macro
confluence-information-macro-note"><span class="aui-icon aui-icon-small
aui-iconfont-warning confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">Available as of ActiveMQ
5.10</div></div></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>storeOpenWireVersion</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>11</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Determines the version of OpenWire commands that are
marshalled to the KahaDB journal.  In versions prior to 5.12.0 this value
defaulted to v6.  Some features of the broker depend on information stored
in the OpenWire commands from newer protocol revisions and these may not work
correctly if the store version is set to a lower value.  KahaDB stores
from broker versions greater than 5.9.0 will in many cases still be readable by
the broker but will cause the broker to continue using the
older store version meaning newer features may not work as intended.  For
KahaDB stores that were created in versions prior to v5.9.0 it will be
necessary to manually set the store version to v6 in order to start a broker
without error.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>indexWriteBatchSize</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>1000</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>number of indexes written in a
batch</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>indexCacheSize</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>10000</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>number of index pages cached in
memory</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>enableIndexWriteAsync</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>if set, will asynchronously write inde
xes</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>journalMaxFileLength</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>32mb</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>a hint to set the maximum size of the message data
logs</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>enableJournalDiskSyncs</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>ensure every journal write is followed by a disk sync
(JMS durability requirement)</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>cleanupInterval</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>30000</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>time (ms) before checking for a discarding/moving
message data logs that are no longer used</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>checkpointInterval</p></td><td colspan="1"
rowspan
="1" class="confluenceTd"><p>5000</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>time (ms) before checkpointing the
journal</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ignoreMissingJournalfiles</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>If enabled, will ignore a missing message log
file</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>checkForCorruptJournalFiles</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>If enabled, will check for corrupted Journal files on
startup and try and recover them</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>checksumJournalFiles</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><span style="text-decoration:
line-through;">false</span> true <sub>v5.9</sub></p></td><td colspan="1"
rowspan="1" class="conflu
enceTd"><p>create a checksum for a journal file - to enable checking for
corrupted journals</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>archiveDataLogs</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>If enabled, will move a message data log to the archive
directory instead of deleting it.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>directoryArchive</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Define the directory to move data logs to when they all
the messages they contain have been consumed.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>maxAsyncJobs</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>10000</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>the maximum number of asynchronous messages that will
be queued awaiting storage (s
hould be the same as the number of concurrent
MessageProducers)</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>concurrentStoreAndDispatchTopics</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>enable the dispatching of Topic messages to
interested clients to happen concurrently with message storage
(<strong>Warning</strong>: Enabling this property is not
recommended)</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>concurrentStoreAndDispatchQueues</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>enable the dispatching of Queue messages to
interested clients to happen concurrently with message
storage</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>archiveCorruptedIndex</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" c
lass="confluenceTd"><p>If enabled, corrupted indexes found at startup will be
archived (not deleted)</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>preallocationStrategy</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>sparse_file</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>(as of 5.12.0) This setting configures how
the broker will try to preallocate the journal files when a new journal file is
needed. The default allocation strategy sets the file length, but does not
populate it with any data. The 'os_kernel_copy' strategy delegates the
preallocation to the Operating System. The 'zeros' strategy configures ActiveMQ
to do the preallocation by writing 0x00 to all of the positions in the journal
file.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd">preallocationScope</td><td colspan="1" rowspan="1"
class="confluenceTd">entire_journal_async</td><td colspan="1" rowspan="1"
class="confluenceTd">(as of 5.14.0) This setting
configures how the broker will preallocate the journal data files. The
default preallocates the next data file in a separate thread.
'<span>entire_journal' does preallocation on first use. 'none' disables
preallocation. Using '<span>entire_journal_async' option avoids delaying writes
pending preallocation on first
use.</span></span></td></tr></tbody></table></div><p>For tuning locking
properties please take a look at <a shape="rect"
href="pluggable-storage-lockers.html">Pluggable storage lockers</a></p><h3
id="KahaDB-Slowfilesystemaccessdiagnosticlogging">Slow file system access
diagnostic logging</h3><p>You can configure a non zero threshold in mili
seconds for database updates.<br clear="none"> If database operation is slower
than that threshold (for example if you set it to 500), you may see messages
like</p><div class="panel" style="border-width: 1px;"><div class="panelContent">
<p>Slow KahaDB access: cleanup took 1277 |
org.apache.activemq.store.kahadb.MessageDatabase | ActiveMQ Journal Checkpoint
Worker</p>
</div></div><p>You can configure a threshold used to log these messages by
using a system property and adjust it to your disk speed so that you can easily
pick up runtime anomalies.</p><div class="panel" style="border-width:
1px;"><div class="panelContent">
<p>-Dorg.apache.activemq.store.kahadb.LOG_SLOW_ACCESS_TIME=1500</p>