influxdata/influxdb · error · CatalogError
Processing Engine Trigger
Error message
Processing Engine Trigger {} not in DB {} What it means
A Processing Engine operation referenced a trigger by name that does not exist in the given database. The catalog looks up triggers per database schema and throws this error when the (database_name, trigger_name) pair cannot be resolved.
Solutions
- List existing triggers in the database to confirm the exact name (SHOW TRIGGERS / catalog query).
- Correct the trigger name or database name in your command.
- Make teardown scripts idempotent by tolerating 'not found' responses for DROP/DISABLE operations.
Example fix
// before DROP TRIGGER "my_triger" ON DATABASE mydb; // after (use the exact existing name) DROP TRIGGER "my_trigger" ON DATABASE mydb;
Defensive patterns
Strategy: validation
Validate before calling
// Verify the trigger exists before operating on it
const triggers = await client.listTriggers(db);
if (!triggers.some(t => t.triggerName === name)) {
return; // nothing to do; make scripts idempotent
}
await client.deleteTrigger(db, name); Type guard
function triggerExists(triggers, name) {
return Array.isArray(triggers) && triggers.some(t => t?.triggerName === name);
} Try / catch
try {
await deleteTrigger(db, name);
} catch (e) {
if (String(e).includes('not in DB')) {
// already gone: treat as success in idempotent teardown
} else throw e;
} Prevention
- List triggers before drop/disable operations
- Make teardown scripts tolerate missing triggers
- Centralize trigger names in config shared by create and delete paths
When it happens
Trigger: DROP/DISABLE/ENABLE TRIGGER or the corresponding catalog API calls with a trigger_name that was never created in database_name, or that was already deleted.
Common situations: Typo in trigger name; running teardown scripts twice (trigger already dropped); operating on the wrong database; triggers lost after a catalog restore.
Understand the failure class
Background: "Not found" and "does not exist" errors: why "Task not found", "No such folder", and "Can't find" fire when a lookup comes back empty — this error's family across 14 libraries.
Related errors
- Cannot overwrite Processing Engine Trigger
- failed to parse trigger from
- Invalid endpoint
- Processing Engine Plugin
- {0}
AI-assisted analysis of influxdata/influxdb@06200ef96b (2026-09-19).
Data as JSON: /api/errors/e453d35dad909080.
Report an issue: GitHub.
Appendix: source
Thrown at influxdb3_catalog/src/error.rs:254
database_name: String,
plugin_name: String,
trigger_name: String,
},
#[error(
"Processing Engine Plugin {} not in DB schema for {}",
plugin_name,
database_name
)]
ProcessingEnginePluginNotFound {
plugin_name: String,
database_name: String,
},
#[error("Processing Engine Unimplemented: {}", feature_description)]
ProcessingEngineUnimplemented { feature_description: String },
#[error(
"Processing Engine Trigger {} not in DB {}",
trigger_name,
database_name
)]
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,View on GitHub (pinned to 06200ef96b)