influxdata/influxdb · error · PluginEnvironmentError
Plugin environment management is disabled
Error message
Plugin environment management is disabled
What it means
PluginEnvironmentError::PluginEnvironmentDisabled is thrown when plugin environment management operations are requested while the processing engine's environment management feature is explicitly disabled in configuration. It carries no payload; it is a pure configuration/state guard.
Solutions
- Enable plugin environment management in the influxdb3 processing engine configuration
- Pre-install the plugin's dependencies manually and skip environment setup for that plugin
- Bake dependencies into a custom image and keep management disabled
- Confirm with the administrator whether the feature is intentionally off
Example fix
# before tomlq -i '.processing_engine.environment_management = false' influxdb3.conf # after tomlq -i '.processing_engine.environment_management = true' influxdb3.conf
Defensive patterns
Strategy: validation
Validate before calling
# check the flag before deploying a plugin that needs env setup
enabled=$(tomlq -r '.processing_engine.environment_management // false' influxdb3.conf)
[ "$enabled" = "true" ] || { echo 'env management disabled'; exit 1; } Try / catch
match env_manager.setup(plugin).await {
Err(PluginEnvironmentError::PluginEnvironmentDisabled) => {
eprintln!("env management disabled; pre-install deps for this plugin");
use_preinstalled_env(plugin)
}
other => other,
} Prevention
- Align config between staging and production regarding env management
- Pre-install plugin dependencies when the feature is disabled
- Ask the operator before shipping plugins that require runtime env setup
- Document the enabling flag in deployment runbooks
When it happens
Trigger: A plugin requests environment setup (installing packages, creating a venv) while the server was started with environment management disabled (e.g. a config flag like plugin-env-management off).
Common situations: Operators disable environment management in production for security (no arbitrary package installs); a plugin that needs dependencies is deployed to a locked-down instance; config differs between staging (enabled) and prod (disabled).
Related errors
- Package installation has been disabled. Contact your…
- An unexpected error occurred in the client library
- Cannot parse object store config
- Connection error
- External call failed
AI-assisted analysis of influxdata/influxdb@06200ef96b (2026-09-19).
Data as JSON: /api/errors/d1f5d8e2b6aaab12.
Report an issue: GitHub.
Appendix: source
Thrown at influxdb3_processing_engine/src/environment.rs:19
use crate::environment::PluginEnvironmentError::PluginEnvironmentDisabled;
use crate::virtualenv::{VenvError, find_python, initialize_venv};
use observability_deps::tracing::debug;
use pyo3::prelude::PyAnyMethods;
use pyo3::{PyResult, Python};
use std::fmt::Debug;
use std::path::{Path, PathBuf};
use std::process::Command;
use std::sync::{Arc, OnceLock};
use thiserror::Error;
#[derive(Error, Debug)]
pub enum PluginEnvironmentError {
#[error("Package manager not available: {0}")]
PackageManagerNotFound(String),
#[error("External call failed: {0}")]
InstallationFailed(#[from] std::io::Error),
#[error("Plugin environment management is disabled")]
PluginEnvironmentDisabled,
#[error("Virtual environment error: {0}")]
VenvError(#[from] VenvError),
#[error("Failed to list packages: {0}")]
PackageListFailed(String),
#[error(
"Package installation has been disabled. Contact your administrator for more information."
)]
PackageInstallationDisabled,
}
pub trait PythonEnvironmentManager: Debug + Send + Sync + 'static {
fn init_pyenv(
&self,
plugin_dir: Option<&Path>,View on GitHub (pinned to 06200ef96b)