influxdata/influxdb · error · CatalogError

invalid configuration provided

Error message

invalid configuration provided: {message}

What it means

CatalogError::InvalidConfiguration { message } is thrown when a user-supplied configuration for a catalog resource is invalid, with message describing why. The library validates cache, trigger, retention, and other resource options at creation time and rejects impossible or contradictory values. The Box<str> message carries the precise violation.

Solutions

  1. Read the message field — it names the exact invalid parameter
  2. Validate sizes/TTLs/column names against the target table schema before calling
  3. Fix the client/config payload and resubmit
  4. Match on CatalogError::InvalidConfiguration and propagate message to the caller

Example fix

// before
LastCacheCreate { size: 0, .. }  // invalid size
// after
LastCacheCreate { size: 10, ttl: Some(3600), .. }
Defensive patterns

Strategy: validation

Validate before calling

// Rust: validate cache config before creation
assert!(cache.size > 0, "last cache size must be positive");
assert!(cache.ttl.map(|t| t > 0).unwrap_or(true), "ttl must be positive");

Try / catch

match db.create_last_cache(cfg).await {
    Err(CatalogError::InvalidConfiguration { message }) => {
        return Err(HttpError::bad_request(format!("invalid cache config: {message}")));
    }
    other => other?,
}

Prevention

When it happens

Trigger: Creating a last-cache/distinct-cache with invalid size, TTL, or key/column combos; configuring a plugin trigger with bad options; supplying mutually inconsistent cache parameters via /api/v3/configure/last_cache or distinct_cache endpoints.

Common situations: Typos in config field names so defaults/invalid values slip through; copy-pasted cache configs exceeding table cardinality; setting zero/negative max size or TTL.

Understand the failure class

Background: "Invalid value" and "allowed values are" config errors: what your library rejected and how to fix it — this error's family across 41 libraries.

Related errors


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

Appendix: source

Thrown at influxdb3_catalog/src/error.rs:75

    AlreadyDeleted(String),

    /// Request is idempotent: no catalog state would change.
    #[error("no catalog changes to apply: {details}")]
    NoCatalogChange { details: String },

    /// Request is invalid.
    #[error("catalog internal error: {details}")]
    Internal { details: String },

    #[error(
        "persisted catalog checkpoint sequence {checkpoint_sequence} is ahead of live catalog sequence {live_sequence}"
    )]
    BackupCheckpointAhead {
        checkpoint_sequence: u64,
        live_sequence: u64,
    },

    #[error("invalid configuration provided: {message}")]
    InvalidConfiguration { message: Box<str> },

    #[error("only tag and string columns are supported in the distinct cache")]
    InvalidDistinctCacheColumnType,

    #[error("only uint64, int64, bool, tag, and string columns are supported in the last cache")]
    InvalidLastCacheKeyColumnType,

    #[error("plugin trigger is already enabled")]
    TriggerAlreadyEnabled,

    #[error("plugin trigger is already disabled")]
    TriggerAlreadyDisabled,

    #[error("invalid column type for column '{column_name}', expected {expected}, got {got}")]
    InvalidColumnType {
        column_name: Arc<str>,
        expected: InfluxColumnType,

View on GitHub (pinned to 06200ef96b)