influxdata/influxdb · error · Error
Connection error
Error message
Connection error: {}{} What it means
ProcessingEngineError::PackageInstallationDisabled transparently forwards the message of a PluginEnvironmentError indicating that installing Python packages is not permitted in the current configuration. It is produced by the From<PluginEnvironmentError> conversion that discriminates 'install attempted while disabled' from general install failures. It exists so operators see the exact underlying reason verbatim.
Solutions
- Enable package installation in the server configuration (the relevant plugin-env/package-manager option) if policy allows.
- Pre-install the required packages into the plugin virtual environment so no install is needed.
- Remove package requirements from the plugin if the runtime should be dependency-free.
- Bake dependencies into the container image and restart.
Example fix
// before influxdb3 serve ... # package installs disabled, plugin requires 'requests' // after influxdb3 serve ... --plugin-env-enable-package-install # or pre-install requests into the venv
Defensive patterns
Strategy: validation
Validate before calling
# before enabling a trigger that needs packages
if !package_install_enabled(config) && plugin_has_requirements(plugin) {
echo "enable package installation or pre-install deps"
} Try / catch
match result {
Err(ProcessingEngineError::PackageInstallationDisabled(e)) => error!("installs disabled: {e}; enable package manager or pre-install"),
Ok(v) => v,
} Prevention
- Match server config to plugin needs: enable package install or ship dependency-free plugins.
- Pre-install packages into the plugin venv during image build.
- Document the security policy that disables installs for operators.
When it happens
Trigger: Enabling/creating a Python plugin trigger that requires packages while the server is configured to disallow package installation (e.g. package_manager disabled in config or the environment setup function returns that PluginEnvironmentError).
Common situations: Production deployments with package installs turned off for security; server started with a flag like --plugin-env or package-manager disabled; operator forgot to enable package management or pre-provision packages.
Related errors
- UnexpectedEOF
- Failed to list packages
- Plugin environment management is disabled
- Virtual environment error
- {0}
AI-assisted analysis of influxdata/influxdb@06200ef96b (2026-09-19).
Data as JSON: /api/errors/12e5e51e3fa16ce6.
Report an issue: GitHub.
Appendix: source
Thrown at core/client_util/src/connection.rs:79
/// Return a reference to the base uri of the IOx http API endpoint
pub fn uri(&self) -> &Uri {
&self.uri
}
}
/// The default User-Agent header sent by the HTTP client.
pub const USER_AGENT: &str = concat!(env!("CARGO_PKG_NAME"), "/", env!("CARGO_PKG_VERSION"));
/// The default connection timeout
pub const DEFAULT_CONNECT_TIMEOUT: Duration = Duration::from_secs(1);
/// The default request timeout
pub const DEFAULT_TIMEOUT: Duration = Duration::from_secs(30);
/// Errors returned by the ConnectionBuilder
#[derive(Debug, Error)]
pub enum Error {
/// Server returned an invalid argument error
#[error("Connection error: {}{}", source, details)]
TransportError {
/// underlying [`tonic::transport::Error`]
source: tonic::transport::Error,
/// stringified version of the tonic error's source
details: String,
},
/// Client received an unexpected error from the server
#[error("Invalid URI: {}", .0)]
InvalidUri(#[from] http::Error),
}
// Custom impl to include underlying source (not included in tonic
// transport error)
impl From<tonic::transport::Error> for Error {
fn from(source: tonic::transport::Error) -> Self {
use std::error::Error;
let details = sourceView on GitHub (pinned to 06200ef96b)