{"record":{"id":"70a569649d6a7986","repo":"influxdata/influxdb","slug":"invalid-configuration-provided-message","errorCode":null,"errorMessage":"invalid configuration provided: {message}","messagePattern":"invalid configuration provided: (.+?)","errorType":"validation","errorClass":"CatalogError","httpStatus":400,"severity":"error","filePath":"influxdb3_catalog/src/error.rs","lineNumber":75,"sourceCode":"    AlreadyDeleted(String),\n\n    /// Request is idempotent: no catalog state would change.\n    #[error(\"no catalog changes to apply: {details}\")]\n    NoCatalogChange { details: String },\n\n    /// Request is invalid.\n    #[error(\"catalog internal error: {details}\")]\n    Internal { details: String },\n\n    #[error(\n        \"persisted catalog checkpoint sequence {checkpoint_sequence} is ahead of live catalog sequence {live_sequence}\"\n    )]\n    BackupCheckpointAhead {\n        checkpoint_sequence: u64,\n        live_sequence: u64,\n    },\n\n    #[error(\"invalid configuration provided: {message}\")]\n    InvalidConfiguration { message: Box<str> },\n\n    #[error(\"only tag and string columns are supported in the distinct cache\")]\n    InvalidDistinctCacheColumnType,\n\n    #[error(\"only uint64, int64, bool, tag, and string columns are supported in the last cache\")]\n    InvalidLastCacheKeyColumnType,\n\n    #[error(\"plugin trigger is already enabled\")]\n    TriggerAlreadyEnabled,\n\n    #[error(\"plugin trigger is already disabled\")]\n    TriggerAlreadyDisabled,\n\n    #[error(\"invalid column type for column '{column_name}', expected {expected}, got {got}\")]\n    InvalidColumnType {\n        column_name: Arc<str>,\n        expected: InfluxColumnType,","sourceCodeStart":57,"sourceCodeEnd":93,"githubUrl":"https://github.com/influxdata/influxdb/blob/06200ef96ba82c5f6727e5038a83af8e722c6875/influxdb3_catalog/src/error.rs#L57-L93","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","solutions":["Read the message field — it names the exact invalid parameter","Validate sizes/TTLs/column names against the target table schema before calling","Fix the client/config payload and resubmit","Match on CatalogError::InvalidConfiguration and propagate message to the caller"],"exampleFix":"// before\nLastCacheCreate { size: 0, .. }  // invalid size\n// after\nLastCacheCreate { size: 10, ttl: Some(3600), .. }","handlingStrategy":"validation","validationCode":"// Rust: validate cache config before creation\nassert!(cache.size > 0, \"last cache size must be positive\");\nassert!(cache.ttl.map(|t| t > 0).unwrap_or(true), \"ttl must be positive\");","typeGuard":null,"tryCatchPattern":"match db.create_last_cache(cfg).await {\n    Err(CatalogError::InvalidConfiguration { message }) => {\n        return Err(HttpError::bad_request(format!(\"invalid cache config: {message}\")));\n    }\n    other => other?,\n}","preventionTips":["Validate sizes/TTLs are positive before API calls","Check option names against the current API schema","Reuse vetted config builders instead of raw structs","Surface the message field to end users"],"tags":["configuration","validation","catalog"],"backgroundTag":"invalid-config-value","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"}