influxdata/influxdb · error · PluginError

couldn't find db

Error message

couldn't find db

What it means

PluginError::MissingDb, a sentinel raised when the database backing a plugin operation cannot be resolved in the catalog/write path at execution time — a generic "couldn't find db" condition distinct from an invalid supplied name.

Solutions

  1. Verify the database still exists when the trigger fires (it may have been deleted after trigger creation)
  2. Re-create the trigger against an existing database
  3. Check catalog consistency if the database should exist
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at influxdb3_processing_engine/src/plugins.rs:38 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/d3faa4a505591dd5. Report an issue: GitHub.

Appendix: source

Thrown at influxdb3_processing_engine/src/plugins.rs:38

    DatabaseName,
    http::{WalPluginTestRequest, WalPluginTestResponse},
};
use influxdb3_write::{Precision, write_buffer};
use iox_time::{Time, TimeProvider};
use observability_deps::tracing::error;
use std::{fmt::Debug, path::PathBuf, str::FromStr, sync::Arc};
use tokio_util::sync::CancellationToken;

use anyhow::{Context, anyhow};
use parking_lot::Mutex;
use thiserror::Error;

#[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}")]

View on GitHub (pinned to 06200ef96b)