influxdata/influxdb · error · CatalogError

catalog subscription error

Error message

catalog subscription error: {0}

What it means

This wraps a SubscriptionError from the catalog's subscription subsystem via #[from], so any failure while managing catalog subscriptions (registering, updating, or streaming catalog changes) surfaces with this prefix. It indicates the underlying subscription operation failed and the catalog is propagating it verbatim.

Solutions

  1. Read the inner SubscriptionError (source of this error) to identify the concrete subscription failure and fix that root cause.
  2. Check network connectivity and configuration between nodes that exchange catalog subscription messages.
  3. Restart the affected node/process to re-establish the subscription channel.
  4. Verify all components run compatible InfluxDB 3 versions; upgrade if the subscription protocol changed.
Defensive patterns

Strategy: retry

Try / catch

match result {
    Err(e) if matches!(e, CatalogError::Subscription(_)) => {
        // log inner source, back off, and retry subscription registration
        tokio::time::sleep(Duration::from_secs(5)).await;
        retry_subscribe();
    }
    Err(e) => return Err(e),
    Ok(v) => Ok(v),
}

Prevention

When it happens

Trigger: Calling catalog APIs that subscribe to catalog change notifications, or startup/shutdown paths that register a catalog subscriber, when the subscription channel cannot be created, the subscriber is gone, or the subscription stream fails.

Common situations: Running multi-node InfluxDB 3 deployments where inter-node catalog notification channels break; shutting down a node while a subscription is active; version mismatches between components sharing the catalog subscription mechanism.

Understand the failure class

Background: "This is a bug, please report it": internal invariant violations, unreachable panics, and SNH errors explained — this error's family across 47 libraries.

Related errors


AI-assisted analysis of influxdata/influxdb@06200ef96b (2026-09-19). Data as JSON: /api/errors/b0a5064f514ee87f. Report an issue: GitHub.

Appendix: source

Thrown at influxdb3_catalog/src/error.rs:207

    )]
    FieldTypeMismatch {
        table_name: String,
        column_name: String,
        existing: InfluxColumnType,
        attempted: InfluxColumnType,
    },

    #[error(
        "Series key mismatch on table {}. Existing table has {}",
        table_name,
        existing
    )]
    SeriesKeyMismatch {
        table_name: String,
        existing: String,
    },

    #[error("catalog subscription error: {0}")]
    Subscription(#[from] SubscriptionError),

    #[error(transparent)]
    Other(#[from] anyhow::Error),

    #[error(
        "Cannot overwrite Processing Engine Trigger {} in Database {}",
        trigger_name,
        database_name
    )]
    ProcessingEngineTriggerExists {
        database_name: String,
        trigger_name: String,
    },

    #[error(
        "Cannot delete running plugin {}. Disable it first or use --force.",
        trigger_name

View on GitHub (pinned to 06200ef96b)