{"record":{"id":"f638ce8b8a689504","repo":"rustfs/rustfs","slug":"invalid-cache-configuration-0","errorCode":null,"errorMessage":"Invalid cache configuration: {0}","messagePattern":"Invalid cache configuration: (.+?)","errorType":"validation","errorClass":"CacheConfigError","httpStatus":null,"severity":"error","filePath":"crates/io-metrics/src/cache_config.rs","lineNumber":131,"sourceCode":"    pub fn with_ttl_range(mut self, min: u64, default: u64, max: u64) -> Self {\n        self.min_ttl_seconds = min;\n        self.default_ttl_seconds = default;\n        self.max_ttl_seconds = max;\n        self\n    }\n\n    /// Builder pattern: enable/disable adaptive TTL.\n    pub fn with_adaptive_ttl(mut self, enabled: bool) -> Self {\n        self.adaptive_ttl_enabled = enabled;\n        self\n    }\n}\n\n/// Cache configuration error.\n#[derive(Debug, Clone, thiserror::Error)]\npub enum CacheConfigError {\n    /// Invalid configuration value.\n    #[error(\"Invalid cache configuration: {0}\")]\n    InvalidValue(String),\n}\n\n/// Adaptive TTL calculator.\n#[derive(Debug, Clone)]\npub struct AdaptiveTTL {\n    /// Cache configuration.\n    config: CacheConfig,\n    /// Access count threshold for hot items.\n    hot_threshold: u64,\n    /// Access count threshold for cold items.\n    cold_threshold: u64,\n    /// Time window for access counting.\n    access_window: Duration,\n}\n\nimpl Default for AdaptiveTTL {\n    fn default() -> Self {","sourceCodeStart":113,"sourceCodeEnd":149,"githubUrl":"https://github.com/rustfs/rustfs/blob/35af688cd9d41b4346fbe27dcf7250ba72046c1f/crates/io-metrics/src/cache_config.rs#L113-L149","documentation":"CacheConfigError variant of io-metrics raised when a cache configuration value is invalid — TTL ranges where min > max or default outside the range, non-positive capacities, or disabled-but-required combos. The reason is embedded; the builder fails at construction time before any cache is created, so the operator corrects the config and rebuilds.","triggerScenarios":"Thrown at crates/io-metrics/src/cache_config.rs:131 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Adjust the cache configuration to satisfy min<=default<=max and sizing rules","Validate the builder output before use"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"35af688cd9d41b4346fbe27dcf7250ba72046c1f","analyzedAt":"2026-08-20T21:57:04.799Z","contentChangedAt":"2026-08-20T21:57:04.799Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}