Merge branch 'master' into master-ruleeng

This commit is contained in:
Rainer Gerhards 2013-11-05 18:22:45 +01:00
commit 80a4feb542
3 changed files with 24 additions and 8 deletions

View File

@ -1,4 +1,5 @@
Version 7.4.7 [v7.4-stable] 2013-11-??
- improved checking of queue config parameters on startup
- bugfix: call to ruleset with async queue did not use the queue
closes: http://bugzilla.adiscon.com/show_bug.cgi?id=443
---------------------------------------------------------------------------

View File

@ -16,7 +16,14 @@ default values will be used. Thus, the default ruleset has only the default main
queues are not set up by default.</p>
<ul>
<li><strong>queue.filename</strong> name</li>
<li><strong>queue.size</strong> number</li>
<li><strong>queue.size</strong> number <br>
This is the maximum size of the queue in number of messages.
Note that setting the queue size to very small values (roughly
below 100 messages) is not supported and can lead to
unpredictable results.<br>
For more information on the current status of this restriction
see the <a href="http://www.rsyslog.com/lower-bound-for-queue-sizes/">rsyslog
FAQ: "lower bound for queue sizes"</a>.</li>
<li><strong>queue.dequeuebatchsize</strong> number
<br>default 16</li>
<li><strong>queue.maxdiskspace</strong> number</li>

View File

@ -2106,16 +2106,24 @@ qqueueStart(qqueue_t *pThis) /* this is the ConstructionFinalizer */
break;
}
if(pThis->iFullDlyMrk == -1)
pThis->iFullDlyMrk = pThis->iMaxQueueSize
- (pThis->iMaxQueueSize / 100) * 3; /* default 97% */
if(pThis->iLightDlyMrk == -1)
pThis->iLightDlyMrk = pThis->iMaxQueueSize
- (pThis->iMaxQueueSize / 100) * 30; /* default 70% */
if(pThis->iMaxQueueSize < 100) {
errmsg.LogError(0, RS_RET_OK_WARN, "Note: queue.size=\"%d\" is very "
"low and can lead to unpredictable results. See also "
"http://www.rsyslog.com/lower-bound-for-queue-sizes/",
pThis->iMaxQueueSize);
}
/* we need to do a quick check if our water marks are set plausible. If not,
* we correct the most important shortcomings. TODO: do that!!!! -- rgerhards, 2008-03-14
* we correct the most important shortcomings.
*/
if(pThis->iFullDlyMrk == -1 || pThis->iFullDlyMrk > pThis->iMaxQueueSize)
pThis->iFullDlyMrk = pThis->iMaxQueueSize
- (pThis->iMaxQueueSize / 100) * 3; /* default 97% */
if(pThis->iLightDlyMrk == -1 || pThis->iLightDlyMrk > pThis->iMaxQueueSize)
pThis->iLightDlyMrk = pThis->iMaxQueueSize
- (pThis->iMaxQueueSize / 100) * 30; /* default 70% */
if(pThis->iDeqBatchSize > pThis->iMaxQueueSize)
pThis->iDeqBatchSize = pThis->iMaxQueueSize;
/* finalize some initializations that could not yet be done because it is
* influenced by properties which might have been set after queueConstruct ()