activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r992596 - in /websites/production/activemq/content: cache/main.pageCache kahadb.html
Date Tue, 12 Jul 2016 13:22:11 GMT
Author: buildbot
Date: Tue Jul 12 13:22:11 2016
New Revision: 992596

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 Jul 12 13:22:11 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">&#160;</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.&#160; In versions prior to 5.12.0 this value defaulted
to v6.&#160; 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.&#160; 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.&#160; 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</td><td
colspan="1" rowspan="1" class="confluenceTd">(as of 5.14.0) This setting confi
 gures how the broker will preallocate the journal data files. The default preallocates on
first use in the appender thread. <span>'</span><span>entire_journal_async'
will use preallocate ahead of time</span> in a separate thread. <span> 'none'
disables preallocation. On SSD, using '<span>entire_journal_async' avoids delaying writes
pending preallocation on first use. note: on HDD the additional thread contention for disk
has a negative impact, stick with the default.</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" styl
 e="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">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd"><p><span>If set, configures where the KahaDB index files
(db.data and db.redo) will be stored. If not set, the index files are stored in the directory
specified b
 y the 'directory' attribute. </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.&#160; In versions prior to 5.12.0 this value defaulted
to v6.&#160; 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.&#160; 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.&#160;
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 asy
 nchronously write indexes</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" row
 span="1" class="confluenceTd"><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 queu
 ed awaiting storage (should 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
col
 span="1" rowspan="1" class="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</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 on first use in the appender thread. <span>'</span><span>entire_journal_async'
will use preallocate ahead of time</span> in a separate thread. <span> 'none'
disables preallocation. On SSD, using '<span>entire_journal_async' avoids delaying writes
pending preallocation on first use. note: on HDD the additional thread contention for disk
has a negative impact, stick with the default.</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>



Mime
View raw message