influxdata/influxdb · error · ObjectStoreCatalogError

catalog file format error

Error message

catalog file format error: {0}

What it means

ObjectStoreCatalogError::Format, raised when a catalog file fetched from object storage cannot be parsed into the expected catalog format, i.e. the stored bytes are corrupt, truncated, or written by an incompatible schema version.

Solutions

  1. Inspect the inner FormatError message for the exact parse failure
  2. Verify the catalog file was not truncated in the object store
  3. Restore the catalog file from a backup/snapshot if it is corrupt
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at influxdb3_catalog/src/object_store.rs:11 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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

Appendix: source

Thrown at influxdb3_catalog/src/object_store.rs:11

pub(crate) mod versions;

use anyhow::anyhow;
pub use versions::v3::*;

#[derive(Debug, thiserror::Error)]
pub enum ObjectStoreCatalogError {
    #[error("object store error: {0:?}")]
    ObjectStore(#[from] object_store::Error),

    #[error("catalog file format error: {0}")]
    Format(#[from] crate::format::FormatError),

    #[error("unexpected error: {0:?}")]
    Unexpected(#[from] anyhow::Error),

    #[error("upgraded log")]
    UpgradedLog,
}

impl ObjectStoreCatalogError {
    pub fn unexpected(message: impl Into<String>) -> Self {
        Self::Unexpected(anyhow!(message.into()))
    }
}

type Result<T, E = ObjectStoreCatalogError> = std::result::Result<T, E>;

#[derive(Debug, Copy, Clone)]

View on GitHub (pinned to 06200ef96b)