Processing engine reference

The Processing engine is an embedded Python virtual machine that runs inside an InfluxDB 3 Core database server. It executes Python code in response to triggers and database events without requiring external application servers or middleware.

Enable and disable the Processing Engine

The Processing Engine activates when --plugin-dir or INFLUXDB3_PLUGIN_DIR is configured. When not configured, the Python environment and PyO3 bindings aren’t initialized, and the server runs without Processing Engine functionality.

Default behavior by deployment type

DeploymentDefault stateConfiguration
Docker imagesEnabledINFLUXDB3_PLUGIN_DIR=/plugins
DEB/RPM packagesEnabledplugin-dir="/var/lib/influxdb3/plugins"
Binary/sourceDisabledNo plugin-dir configured

Disable in Docker deployments

Docker images set INFLUXDB3_PLUGIN_DIR=/plugins by default.

Setting INFLUXDB3_PLUGIN_DIR="" (empty string) does not disable the Processing Engine. You must unset the variable, not set it to empty.

Use a custom entrypoint that unsets the variable:

docker run --entrypoint /bin/sh influxdb:3-core -c 'unset INFLUXDB3_PLUGIN_DIR && exec influxdb3 serve --object-store memory'

Disable in systemd deployments (DEB/RPM)

The post-install script sets plugin-dir="/var/lib/influxdb3/plugins" in the TOML configuration. To disable the Processing Engine:

  1. Edit the configuration file:

    sudo nano /etc/influxdb3/influxdb3-core.conf
  2. Comment out or remove the plugin-dir line:

    # plugin-dir="/var/lib/influxdb3/plugins"

    Do not set plugin-dir="" (empty string)—you must remove or comment out the line.

  3. Restart the service:

    sudo systemctl restart influxdb3-core

The /var/lib/influxdb3/plugins directory can remain on disk. The Processing Engine only activates based on the plugin-dir configuration, not directory existence.

Benefits of disabling

When the Processing Engine is disabled:

  • The Python environment and PyO3 bindings are not initialized
  • Plugin-related operations return a “No plugin directory configured” error
  • The server runs with reduced resource usage

This is useful for deployments that don’t require plugin functionality and want a minimal server footprint.

How it works

Architecture

The Processing engine runs Python code directly within a InfluxDB 3 Core server process. This design provides high performance and direct access to database resources.

  • Embedded execution: Code runs in the same process space as the database server