rsyslog/doc/source/reference/parameters/imdiag-mainmsgqueuetimeoutenqueue.rst
Rainer Gerhards 5a78def249 testbench: queue timeouts via imdiag module params; yaml-only mode fixes and docs
- imdiag: add 5 module-scope config params to control key queue timeouts
  (mainmsgqueuetimeoutshutdown, mainmsgqueuetimeoutenqueue,
  inputshutdowntimeout, defaultactionqueuetimeoutshutdown,
  defaultactionqueuetimeoutenqueue); these replace per-test legacy
  $MainMsg* directives and eliminate races on slow machines (Solaris)
- imdiag: add assert(0) for unhandled params in setModCnf/newInpInst
- imdiag: modExit sets abortTimeout=-1 after joining timeoutGuard thread
  to prevent double-cancel if resetConfigVariables runs afterwards
- diag.sh: generate_conf --yaml-only flag for YAML-only test mode
- diag.sh: yaml preamble uses new imdiag module params
- diag.sh: add RSTB_MAIN_Q_TO_ENQUEUE separate from action queue var
- diag.sh: restore .started with instance-ID suffix for content_check
- diag.sh: wait_startup() uses imdiag port file for startup detection
- tests: add yaml-basic-yamlonly.sh smoke test
- doc: 6 new reference pages for new imdiag params (with meta blocks)
- doc: imdiag.rst updated with new module-scope params table
- doc: dev_testbench.rst corrected .started vs port-file description

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-29 17:26:39 +02:00

60 lines
1.5 KiB
ReStructuredText

.. _param-imdiag-mainmsgqueuetimeoutenqueue:
.. _imdiag.parameter.module.mainmsgqueuetimeoutenqueue:
.. meta::
:description: Reference for the imdiag mainMsgQueueTimeoutEnqueue module parameter.
:keywords: rsyslog, imdiag, mainmsgqueuetimeoutenqueue, testbench, timeout, queue
MainMsgQueueTimeoutEnqueue
===========================
.. index::
single: imdiag; MainMsgQueueTimeoutEnqueue
.. summary-start
Sets the main message queue enqueue timeout at config load time.
.. summary-end
This parameter applies to :doc:`../../configuration/modules/imdiag`.
:Name: MainMsgQueueTimeoutEnqueue
:Scope: module
:Type: integer (milliseconds)
:Default: 30000
:Required?: no
:Introduced: 8.x
Description
-----------
Sets ``globals.mainQ.iMainMsgQtoEnq`` — the time a producer will wait when
the main message queue is full before dropping the message — at config-load
time. The testbench uses this to establish a safe default without relying on
legacy ``$MainMsgQueueTimeoutEnqueue`` directives, which are not available in
YAML-only mode.
Override per-test via ``RSTB_MAIN_Q_TO_ENQUEUE`` before
``generate_conf``, or via a ``$MainMsgQueueTimeoutEnqueue`` directive in the
RainerScript test fragment.
Module usage
------------
.. code-block:: rsyslog
module(load="imdiag" mainMsgQueueTimeoutEnqueue="30000")
YAML usage
----------
.. code-block:: yaml
testbench_modules:
- load: "../plugins/imdiag/.libs/imdiag"
mainmsgqueuetimeoutenqueue: "30000"
See also
--------
See also :doc:`../../configuration/modules/imdiag`.