quickwit-oss/quickwit · error · anyhow::Error

warmup_single_split_initial_allocation

Error message

warmup_single_split_initial_allocation ({}) must be lower or equal to warmup_memory_budget ({})

What it means

Searcher split-cache warmup validation found that `split_cache.warmup_single_split_initial_allocation` (bytes reserved for one split's warmup) exceeds the total `split_cache.warmup_memory_budget`. A single split's warmup could never fit in the budget, so the configuration is rejected.

Solutions

  1. Lower `warmup_single_split_initial_allocation` to at most `warmup_memory_budget`
  2. Increase `warmup_memory_budget` to comfortably exceed the per-split allocation
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at quickwit/quickwit-config/src/node_config/mod.rs:707 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of quickwit-oss/quickwit@a39730c5cd (2026-09-08). Data as JSON: /api/errors/b3e82c485beeba5d. Report an issue: GitHub.

Appendix: source

Thrown at quickwit/quickwit-config/src/node_config/mod.rs:707

        Duration::from_secs(self.leaf_request_timeout_secs.get())
    }
    fn default_request_timeout_secs() -> NonZeroU64 {
        NonZeroU64::new(30).unwrap()
    }
    fn validate(&self) -> anyhow::Result<()> {
        if let Some(split_cache_limits) = self.split_cache {
            if self.max_num_concurrent_split_searches
                > split_cache_limits.max_file_descriptors.get() as usize
            {
                anyhow::bail!(
                    "max_num_concurrent_split_searches ({}) must be lower or equal to \
                     split_cache.max_file_descriptors ({})",
                    self.max_num_concurrent_split_searches,
                    split_cache_limits.max_file_descriptors
                );
            }
            if self.warmup_single_split_initial_allocation > self.warmup_memory_budget {
                anyhow::bail!(
                    "warmup_single_split_initial_allocation ({}) must be lower or equal to \
                     warmup_memory_budget ({})",
                    self.warmup_single_split_initial_allocation,
                    self.warmup_memory_budget
                );
            }
        }
        Ok(())
    }
}

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum CompressionAlgorithm {
    Gzip,
    Zstd,
}

View on GitHub (pinned to a39730c5cd)