Search Results for: queue

ChangeLog for 5.3.4 (devel)

Version 5.3.4 [DEVEL] (rgerhards), 2009-11-04

  • added the ability to create custom message parsers
  • added $RulesetParser config directive that permits to bind specific parsers to specific rulesets
  • added omruleset output module, which provides great flexibility in action processing. THIS IS A VERY IMPORTANT ADDITION, see its doc for why.
  • added the capability to have ruleset-specific main message queues
    This offers considerable additional flexibility AND superior performance (in cases where multiple inputs now can avoid lock contention)

  • bugfix: correct default for escape (‘#’) character restored
    This was accidently changed to ‘\\’, thanks to David Lang for reporting

  • bugfix(testbench): testcase did not properly wait for rsyslogd shutdown thus some unpredictable behavior and a false negative test result could occur.

ChangeLog for 5.3.3 (devel)

Version 5.3.3 [DEVEL] (rgerhards), 2009-10-27

  • simplified and thus speeded up the queue engine, also fixed some potential race conditions (in very unusual shutdown conditions) along the way. The threading model has seriously changes, so there may be some regressions.
  • enhanced test environment (inlcuding testbench): support for enhancing probability of memory addressing failure by using non-NULL default value for malloced memory (optional, only if requested by configure option). This helps to track down some otherwise undetected issues within the testbench.
  • bugfix: potential abort if inputname property was not set primarily a problem of imdiag
  • bugfix: message processing states were not set correctly in all cases however, this had no negative effect, as the message processing state was not evaluated when a batch was deleted, and that was the only case where the state could be wrong.

ChangeLog for 5.3.2 (devel)

Version 5.3.2 [DEVEL] (rgerhards), 2009-10-21

  • enhanced omfile to support transactional interface. This will increase performance in many cases.
  • added multi-ruleset support to imudp
  • re-enabled input thread termination handling that does avoid thread cancellation where possible. This provides a more reliable mode of rsyslogd termination (canceling threads my result in not properly freed resouces and potential later hangs, even though we perform proper cancel handling in our code). This is part of an effort to reduce thread cancellation as much as possible in rsyslog.
    NOTE: the code previously written code for this functionality had a subtle race condition. The new code solves that.

  • enhanced immark to support non-cancel input module termination
  • improved imudp so that epoll can be used in more environments, fixed potential compile time problem if EPOLL_CLOEXEC is not available.
  • some cleanup/slight improvement:
    • changed imuxsock to no longer use deprecated submitAndParseMsg() IF
    • changed submitAndParseMsg() interface to be a wrapper around the new way of message creation/submission. This enables older plugins to be used together with the new interface. The removal also enables us to drop a lot of duplicate code, reducing complexity and increasing maintainability.
  • bugfix: segfault when starting up with an invalid .qi file for a disk queue
    Failed for both pure disk as well as DA queues. Now, we emit an error message and disable disk queueing facility.

  • bugfix: potential segfault on messages with empty MSG part. This was a recently introduced regression.
  • bugfix: debug string larger than 1K were improperly displayed. Max size is now 32K, and if a string is even longer it is meaningfully truncated.

ChangeLog for 5.1.6 (v5-beta)

Version 5.1.6 [v5-beta] (rgerhards), 2009-10-15

  • feature imports from v4.5.6
  • bugfix: potential race condition when queue worker threads were terminated
  • bugfix: solved potential (temporary) stall of messages when the queue was almost empty and few new data added (caused testbench to sometimes hang!)
  • fixed some race condition in testbench
  • added more elaborate diagnostics to parts of the testbench
  • bugfixes imported from 4.5.4:
    • bugfix: potential segfault in stream writer on destruction
    • bugfix: potential race in object loader (obj.c) during use/release
    • bugfixes: potential problems in out file zip writer
  • included some important fixes from 4.4.2:
    • bugfix: invalid handling of zero-sized messages
    • bugfix: zero-sized UDP messages are no longer processed
    • bugfix: random data could be appended to message
    • bugfix: reverse lookup reduction logic in imudp do DNS queries too often

ChangeLog for 5.1.3 (devel)

Version 5.1.3 [DEVEL] (rgerhards), 2009-07-28

  • architecture change: queue now always has at least one worker thread if not running in direct mode. Previous versions could run without any active workers. This simplifies the code at a very small expense. See v5 compatibility note document for more in-depth discussion.
  • enhance: UDP spoofing supported via new output module omudpspoof. See the omudpspoof documentation for details and samples
  • bugfix: message could be truncated after TAG, often when forwarding. This was a result of an internal processing error if maximum field sizes had been specified in the property replacer.
  • bugfix: minor static memory leak while reading configuration did NOT leak based on message volume
  • internal: added ability to terminate input modules not via pthread_cancel but an alternate approach via pthread_kill. This is somewhat safer as we do not need to think about the cancel-safeness of all libraries we use. However, not all inputs can easily supported, so this now is a feature that can be requested by the input module (the most important ones request it).

ChangeLog for 4.5.1 (devel)

Version 4.5.1 [DEVEL] (rgerhards), 2009-07-15

  • CONFIG CHANGE: $HUPisRestart default is now “off”. We are doing this to support removal of restart-type HUP in v5.
  • bugfix: fromhost-ip was sometimes truncated
  • bugfix: potential segfault when zip-compressed syslog records were received (double free)
  • bugfix: properties inputname, fromhost, fromhost-ip, msg were lost when working with disk queues
  • performance enhancement: much faster, up to twice as fast (depending on configuration)
  • bugfix: abort condition when RecvFrom was not set and message reduction was on. Happend e.g. with imuxsock.
  • added $klogConsoleLogLevel directive which permits to set a new console log level while rsyslog is active
  • bugfix: message could be truncated after TAG, often when forwarding This was a result of an internal processing error if maximum field sizes had been specified in the property replacer.
  • added ability for the TCP output action to “rebind” its send socket after sending n messages (actually, it re-opens the connection, the name is used because this is a concept very similiar to $ActionUDPRebindInterval). New config directive actionSendTCPRebindInterval added for the purpose. By default, rebinding is disabled. This is considered useful for load balancers.
  • testbench improvements

ChangeLog for 5.1.2 (devel)

Version 5.1.2 [DEVEL] (rgerhards), 2009-07-08

  • bugfix: properties inputname, fromhost, fromhost-ip, msg were lost when working with disk queues
  • some performance enhancements
  • bugfix: abort condition when RecvFrom was not set and message reduction was on. Happend e.g. with imuxsock.
  • added $klogConsoleLogLevel directive which permits to set a new console log level while rsyslog is active
  • some internal code cleanup

ChangeLog for 5.1.1 (devel)

Version 5.1.1 [DEVEL] (rgerhards), 2009-07-03

  • bugfix: huge memory leak in queue engine (made rsyslogd unusable in production). Occured if at least one queue was in direct mode (the default for action queues)
  • imported many performance optimizations from v4-devel (4.5.0)
  • bugfix: subtle (and usually irrelevant) issue in timout processing timeout could be one second too early if nanoseconds wrapped
  • set a more sensible timeout for shutdow, now 1.5 seconds to complete processing (this also removes those cases where the shutdown message was not written because the termination happened before it)
  • numerous enhancements and fixes imported from the v4 branch

ChangeLog for 4.5.0 (devel)

Version 4.5.0 [DEVEL] (rgerhards), 2009-07-02

  • activation order of inputs changed, they are now activated only after privileges are dropped. Thanks to Michael Terry for the patch.
  • greatly improved performance
  • greatly reduced memory requirements of msg object to around half of the previous demand. This means that more messages can be stored in core! Due to fewer cache misses, this also means some performance improvement.
  • improved config error messages: now contain a copy of the config line that (most likely) caused the error
  • reduced max value for $DynaFileCacheSize to 1,000 (the former maximum of 10,000 really made no sense, even 1,000 is very high, but we like to keep the user in control ;)).
  • added capability to fsync() queue disk files for enhanced reliability (also add’s speed, because you do no longer need to run the whole file system in sync mode)
  • more strict parsing of the hostname in rfc3164 mode, hopefully removes false positives (but may cause some trouble with hostname parsing). For details, see this bug tracker: http://bugzilla.adiscon.com/show_bug.cgi?id=126
  • added configuration commands (see doc for explanations)
    * $OMFileZipLevel
    * $OMFileIOBufferSize
    * $OMFileFlushOnTXEnd
    * $MainMsgQueueSyncQueueFiles
    * $ActionQueueSyncQueueFiles

  • done some memory accesses explicitely atomic
  • bugfix: subtle (and usually irrelevant) issue in timout processing timeout could be one second too early if nanoseconds wrapped
  • set a more sensible timeout for shutdow, now 1.5 seconds to complete processing (this also removes those cases where the shutdown message was not written because the termination happened before it)
  • internal bugfix: object pointer was only reset to NULL when an object was actually destructed. This most likely had no effect to existing code, but it may also have caused trouble in remote cases. Similarly, the fix may also cause trouble…

ChangeLog for 4.2.0 (v4-stable)

Version 4.2.0 [v4-stable] (rgerhards), 2009-06-23

  • bugfix: light and full delay watermarks had invalid values, badly affecting performance for delayable inputs
  • bugfix: compile problems in im3195
  • imported all patches from 3.22.1 as of today (see below):
    • bugfix: invalid error message issued if $inlcudeConfig was on an empty set of files (e.g. *.conf, where none such files existed) thanks to Michael Biebl for reporting this bug
    • bugfix: when run in foreground (but not in debug mode), a debug message (“DoDie called”) was emitted at shutdown. Removed. thanks to Michael Biebl for reporting this bug
    • bugfix: some garbagge was emitted to stderr on shutdown. This garbage consisted of file names, which were written during startup (key point: not a pointer error) thanks to Michael Biebl for reporting this bug
    • bugfix: startup and shutdown message were emitted to stdout
      thanks to Michael Biebl for reporting this bug
    • bugfix: error messages were not emitted to stderr in forked mode (stderr and stdo are now kept open across forks)
    • bugfix: internal messages were emitted to whatever file had fd2 when rsyslogd ran in forked mode (as usual!) Thanks to varmojfekoj for the patch
    • small enhancement: config validation run now exits with code 1 if an error is detected. This change is considered important but small enough to apply it directly to the stable version. [But it is a border case, the change requires more code than I had hoped. Thus I have NOT tried to actually catch all cases, this is left for the current devel releases, if necessary]
    • bugfix: light and full delay watermarks had invalid values, badly affecting performance for delayable inputs
    • bugfix: potential segfault issue when multiple $UDPServerRun directives are specified. Thanks to Michael Biebl for helping to debug this one.
    • relaxed GnuTLS version requirement to 1.4.0 after confirmation from the field that this version is sufficient
    • bugfix: parser did not properly handle empty structured data

As a reminder:

Version 4.1.0 [DEVEL] (rgerhards), 2008-11-18

********************************* WARNING *********************************
This version has a slightly different on-disk format for message entries.
As a consequence, old queue files being read by this version may have
an invalid output timestamp, which could result to some malfunction inside
the output driver. It is recommended to drain queues with the previous
version before switching to this one.
********************************* WARNING *********************************
  • greatly enhanced performance when compared to v3.
  • added configuration directive “HUPisRestart” which enables to configure
    HUP to be either a full restart or “just” a leightweight way to
    close open files.
  • enhanced legacy syslog parser to detect year if part of the timestamp
    the format is based on what Cisco devices seem to emit.
  • added a setting “$OptimizeForUniprocessor” to enable users to turn off
    pthread_yield calls which are counter-productive on multiprocessor
    machines (but have been shown to be useful on uniprocessors)
  • reordered imudp processing. Message parsing is now done as part of main
    message queue worker processing (was part of the input thread)
    This should also improve performance, as potentially more work is
    done in parallel.
  • bugfix: compressed syslog messages could be slightly mis-uncompressed
    if the last byte of the compressed record was a NUL
  • added $UDPServerTimeRequery option which enables to work with
    less acurate timestamps in favor of performance. This enables querying
    of the time only every n-th time if imudp is running in the tight
    receive loop (aka receiving messsages at a high rate)
  • doc bugfix: queue doc had wrong parameter name for setting controlling
    worker thread shutdown period
  • restructured rsyslog.conf documentation
  • bugfix: memory leak in ompgsql
    Thanks to Ken for providing the patch
Scroll to top