influxdata/influxdb · error · CatalogError
invalid error behavior
Error message
invalid error behavior {0} What it means
This error is thrown when an error-behavior value supplied for a processing engine trigger is not one of the recognized variants (e.g. `retry`, `log`, `panic`). The offending string is embedded in the message. The catalog validates the behavior string before persisting the trigger definition.
Solutions
- Use one of the supported error behaviors exactly: `retry`, `log`, or `panic`
- Check for typos and case (the parser is case-sensitive)
- Omit the flag to use the default error behavior if unsure
- Check the version's docs for the exact accepted values
Example fix
// before
CreateTriggerBuilder::new().error_behavior("Retry").build();
// after
CreateTriggerBuilder::new().error_behavior("retry").build(); Defensive patterns
Strategy: validation
Validate before calling
const VALID: [&str; 3] = ["retry", "log", "panic"];
fn valid_error_behavior(b: &str) -> bool { VALID.contains(&b) } Try / catch
match result {
Err(CatalogError::InvalidErrorBehavior(b)) => eprintln!("unsupported error behavior: {b} — use retry|log|panic"),
r => r,
} Prevention
- Keep allowed behavior values in a shared constant list
- Lowercase/trim behavior input from configs before submitting
- Pin to documented enum values per server version
When it happens
Trigger: Creating or updating a processing engine trigger with an `error_behavior` string that is not a recognized enum value (valid values are typically `retry`, `log`, `panic`).
Common situations: Typos in the error behavior when using `influxdb3 create trigger --error-behavior`; passing a behavior string from config or environment variables with wrong casing; version drift where a behavior name was renamed.
Understand the failure class
Background: Invalid enum value errors: "Unknown type", "Invalid scope", "must be one of" — when a string is not on the library's allowed list — this error's family across 23 libraries.
Related errors
AI-assisted analysis of influxdata/influxdb@06200ef96b (2026-09-19).
Data as JSON: /api/errors/f12ba550889a27e2.
Report an issue: GitHub.
Appendix: source
Thrown at influxdb3_catalog/src/error.rs:276
)]
ProcessingEngineTriggerNotFound {
database_name: String,
trigger_name: String,
},
#[error("failed to parse trigger from {}", trigger_spec)]
ProcessingEngineTriggerSpecParseError { trigger_spec: String },
#[error("last cache size must be greater than 0")]
InvalidLastCacheSize,
#[error("failed to parse trigger from {trigger_spec}{}", .context.as_ref().map(|context| format!(": {context}")).unwrap_or_default())]
TriggerSpecificationParseError {
trigger_spec: String,
context: Option<String>,
},
#[error("invalid error behavior {0}")]
InvalidErrorBehavior(String),
#[error("cannot parse token permission, {0}")]
CannotParsePermissionForToken(String),
#[error("token name already exists, {0}")]
TokenNameAlreadyExists(String),
#[error("token hash already exists")]
TokenHashAlreadyExists,
#[error("missing admin token, cannot update")]
MissingAdminTokenToUpdate,
#[error("cannot delete internal db")]
CannotDeleteInternalDatabase,
#[error("cannot modify internal db")]View on GitHub (pinned to 06200ef96b)