Author: buildbot
Date: Thu May  5 12:22:03 2016
New Revision: 987521

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 Thu May  5 12:22:03 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_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">
+</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">
 <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>


Reply via email to