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

  1. List existing triggers in the database to confirm the exact name (SHOW TRIGGERS / catalog query).
  2. Correct the trigger name or database name in your command.
  3. 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

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


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)