influxdata/influxdb · error · PluginError

reading plugin file

Error message

reading plugin file: {0}

What it means

PluginError::ReadPluginError wraps a std::io::Error (via #[from]) encountered while reading a Python plugin file from disk on behalf of the processing engine. It is a generic IO guard, so it fires for any filesystem failure in that path — file not found, permission denied, or an unreadable plugin directory — not for errors inside the plugin's execution (those surface as PluginExecutionError). The offending input is the plugin file path being read, with the underlying io::Error as the message payload.

Solutions

  1. Check the wrapped io::Error for the concrete file failure
  2. Verify the plugin file path exists and is readable by the server process
  3. Re-upload or restore the plugin file if it was removed
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at influxdb3_processing_engine/src/plugins.rs:50 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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

Appendix: source

Thrown at influxdb3_processing_engine/src/plugins.rs:50

#[derive(Debug, Error)]
pub enum PluginError {
    #[error("invalid database {0}")]
    InvalidDatabase(String),

    #[error("couldn't find db")]
    MissingDb,

    #[error(transparent)]
    PyError(#[from] pyo3::PyErr),

    #[error(transparent)]
    WriteBufferError(#[from] write_buffer::Error),

    #[error(transparent)]
    AnyhowError(#[from] anyhow::Error),

    #[error("reading plugin file: {0}")]
    ReadPluginError(#[from] std::io::Error),

    #[error("error executing plugin: {0}")]
    PluginExecutionError(#[from] influxdb3_py_api::error::ExecutePluginError),

    #[error("invalid cron syntax: {0}")]
    InvalidCronSyntax(#[from] cron::error::Error),

    #[error("cron schedule never triggers: {0}")]
    CronScheduleNeverTriggers(String),

    #[error("non-schedule plugin with schedule trigger: {0}")]
    NonSchedulePluginWithScheduleTrigger(String),

    #[error("error fetching plugin from repository: {0} {1}")]
    FetchingFromRepository(reqwest::StatusCode, String),

    #[error(

View on GitHub (pinned to 06200ef96b)