{"record":{"id":"b0a5064f514ee87f","repo":"influxdata/influxdb","slug":"catalog-subscription-error-0","errorCode":null,"errorMessage":"catalog subscription error: {0}","messagePattern":"catalog subscription error: (.+?)","errorType":"error_code","errorClass":"CatalogError","httpStatus":null,"severity":"error","filePath":"influxdb3_catalog/src/error.rs","lineNumber":207,"sourceCode":"    )]\n    FieldTypeMismatch {\n        table_name: String,\n        column_name: String,\n        existing: InfluxColumnType,\n        attempted: InfluxColumnType,\n    },\n\n    #[error(\n        \"Series key mismatch on table {}. Existing table has {}\",\n        table_name,\n        existing\n    )]\n    SeriesKeyMismatch {\n        table_name: String,\n        existing: String,\n    },\n\n    #[error(\"catalog subscription error: {0}\")]\n    Subscription(#[from] SubscriptionError),\n\n    #[error(transparent)]\n    Other(#[from] anyhow::Error),\n\n    #[error(\n        \"Cannot overwrite Processing Engine Trigger {} in Database {}\",\n        trigger_name,\n        database_name\n    )]\n    ProcessingEngineTriggerExists {\n        database_name: String,\n        trigger_name: String,\n    },\n\n    #[error(\n        \"Cannot delete running plugin {}. Disable it first or use --force.\",\n        trigger_name","sourceCodeStart":189,"sourceCodeEnd":225,"githubUrl":"https://github.com/influxdata/influxdb/blob/06200ef96ba82c5f6727e5038a83af8e722c6875/influxdb3_catalog/src/error.rs#L189-L225","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","solutions":["Read the inner SubscriptionError (source of this error) to identify the concrete subscription failure and fix that root cause.","Check network connectivity and configuration between nodes that exchange catalog subscription messages.","Restart the affected node/process to re-establish the subscription channel.","Verify all components run compatible InfluxDB 3 versions; upgrade if the subscription protocol changed."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"match result {\n    Err(e) if matches!(e, CatalogError::Subscription(_)) => {\n        // log inner source, back off, and retry subscription registration\n        tokio::time::sleep(Duration::from_secs(5)).await;\n        retry_subscribe();\n    }\n    Err(e) => return Err(e),\n    Ok(v) => Ok(v),\n}","preventionTips":["Monitor inter-node connectivity in clustered deployments","Ensure graceful shutdown deregisters subscribers before process exit","Keep all nodes on the same InfluxDB 3 version","Alert on repeated subscription failures rather than swallowing them"],"tags":["catalog","subscription","influxdb","distributed"],"backgroundTag":"internal-invariant-violation","analyzedSha":"06200ef96ba82c5f6727e5038a83af8e722c6875","analyzedAt":"2026-09-19T12:55:30.003Z","contentChangedAt":"2026-09-19T12:55:30.003Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}