influxdata/influxdb · error · Error

Processing engine error

Error message

Processing engine error: {0}

What it means

Wraps `influxdb3_processing_engine::manager::ProcessingEngineError` into the HTTP error via `#[from]`. This is a failure in the processing-engine manager layer — e.g. creating, removing, enabling, disabling, or looking up triggers — as opposed to an error inside a single plugin's execution. The inner message names the failed manager operation.

Solutions

  1. Read the inner ProcessingEngineError and check whether the trigger name/database already exists or is missing.
  2. List existing triggers (`influxdb3 show triggers` or the API) and reconcile your request against them.
  3. Ensure the plugin file and referenced table/database exist before creating or enabling the trigger.
  4. Restart the server if catalog and manager state appear inconsistent after an upgrade.

Example fix

// before: duplicate create fails
// influxdb3 create trigger my_trigger ...
// after: remove then recreate
// influxdb3 delete --trigger-name my_trigger && influxdb3 create trigger my_trigger ...
Defensive patterns

Strategy: validation

Validate before calling

// Check existing triggers before create/enable
const triggers = await api.listTriggers();
if (triggers.some(t => t.trigger_name === name)) {
  console.log('trigger already exists; skipping create');
  return;
}

Try / catch

try {
  await api.createTrigger(t);
} catch (e) {
  if (/Processing engine error:/.test(e.message) && /exists/i.test(e.message)) {
    return; // idempotent re-provision
  }
  throw e;
}

Prevention

When it happens

Trigger: Calling the trigger management HTTP API (create/delete/enable/disable trigger, e.g. POST/DELETE /api/v3/configure/processing_engine_trigger) when the trigger already exists or does not exist, the trigger references a nonexistent table/database, or the manager cannot update catalog/plugin state.

Common situations: Re-running a provisioning script that tries to create an already-registered trigger; deleting a trigger from the wrong database; enabling a trigger whose plugin file was removed; catalog state out of sync after a version upgrade.

Related errors


AI-assisted analysis of influxdata/influxdb@06200ef96b (2026-09-19). Data as JSON: /api/errors/2f9f41dbfc76c612. Report an issue: GitHub.

Appendix: source

Thrown at influxdb3_server/src/http.rs:361

    )]
    InfluxqlDatabaseMismatch { param_db: String, query_db: String },

    #[error("Operation with object store failed: {0}")]
    ObjectStore(#[from] object_store::Error),

    #[error("heap dump failed: {0}")]
    HeapPprof(#[from] jemalloc_pprof_http::Error),

    #[error(transparent)]
    Catalog(#[from] CatalogError),

    #[error("Python plugins not enabled on this server")]
    PythonPluginsNotEnabled,

    #[error("Plugin error: {0}")]
    Plugin(#[from] influxdb3_processing_engine::plugins::PluginError),

    #[error("Processing engine error: {0}")]
    ProcessingEngine(#[from] influxdb3_processing_engine::manager::ProcessingEngineError),

    #[error(transparent)]
    Influxdb3TypesHttp(#[from] influxdb3_types::http::Error),

    #[error("Authorization error: {0}")]
    ResourceAuthorization(#[from] ResourceAuthorizationError),

    #[error("Authentication error: {0}")]
    Authentication(#[from] AuthenticatorError),

    #[error("The following Database does not exist: {0}")]
    MissingDb(String),

    #[error("The following Database Table does not exist: {0}")]
    MissingTable(String),

    #[error("Cannot parse the given human time: {0}")]

View on GitHub (pinned to 06200ef96b)