useTransactions

Enables batch processing with begin and commit transaction markers.

This parameter applies to omprog: Program integration Output module.

Name:

useTransactions

Scope:

action

Type:

boolean

Default:

action=off

Required?:

no

Introduced:

8.31.0

Description

Specifies whether the external program processes the messages in batches (transactions). When this switch is enabled, the logs sent to the program are grouped in transactions. At the start of a transaction, rsyslog sends a special mark message to the program (see beginTransactionMark). At the end of the transaction, rsyslog sends another mark message (see commitTransactionMark).

If confirmMessages is also set to “on”, the program must confirm both the mark messages and the logs within the transaction. The mark messages must be confirmed by returning OK, and the individual messages by returning DEFER_COMMIT (instead of OK). Refer to the link below for details.

Warning

This feature is currently experimental. It could change in future releases without keeping backwards compatibility with existing configurations or the specified interface. There is also a known issue with the use of transactions together with confirmMessages=on.

Implementation status

omprog currently implements this option through rsyslog’s legacy output transaction callbacks. That is intentional for the existing module: the option is action-specific, so one omprog action can run in transaction mode while another action can keep the normal per-message processing path.

The newer output transaction interface expects a module to be transactional as a module capability instead of switching that behavior per action. Moving this option to that interface would therefore need either a compatible core design change, a separate transactional module, or an incompatible change to this parameter. It is not a drop-in implementation detail.

Action usage

action(type="omprog" useTransactions="on")

Notes

  • Legacy documentation referred to the type as binary; this maps to boolean.

See also

See also omprog: Program integration Output module.


Support: rsyslog Assistant | GitHub Discussions | GitHub Issues: rsyslog source project

Contributing: Source & docs: rsyslog source project

© 2008–2026 Rainer Gerhards and others. Licensed under the Apache License 2.0.