pola-rs/polars · error
invalid value for POLARS_RECORD_BATCH_PREFETCH_SIZE: {x}
Error message
invalid value for POLARS_RECORD_BATCH_PREFETCH_SIZE: {x} What it means
Panic in IpcReaderBuilder::set_execution_state: POLARS_RECORD_BATCH_PREFETCH_SIZE was set but is not a valid NonZeroUsize. The env var overrides the default number of prefetched record batches, so the unparsable value {x} aborts reader initialization.
Source
Thrown at crates/polars-stream/src/nodes/io_sources/ipc/builder.rs:57
#[cfg(feature = "ipc")]
impl FileReaderBuilder for IpcReaderBuilder {
fn reader_name(&self) -> &str {
"ipc"
}
fn reader_capabilities(&self) -> ReaderCapabilities {
use ReaderCapabilities as RC;
RC::ROW_INDEX | RC::PRE_SLICE
}
fn set_execution_state(&self, execution_state: &crate::execute::StreamingExecutionState) {
let prefetch_limit = std::env::var("POLARS_RECORD_BATCH_PREFETCH_SIZE")
.map(|x| {
x.parse::<NonZeroUsize>()
.unwrap_or_else(|_| {
panic!("invalid value for POLARS_RECORD_BATCH_PREFETCH_SIZE: {x}")
})
.get()
})
.unwrap_or(
// Similar to Parquet.
execution_state
.num_pipelines
.saturating_mul(2)
.max(get_request_budget() as usize)
.clamp(16, 2048),
)
.max(1);
let prefetch_kbytes_limit = std::env::var("POLARS_RECORD_BATCH_PREFETCH_KBYTES_BUDGET")
.map(|x| {
x.parse::<NonZeroUsize>()
.unwrap_or_else(|_| {
panic!("invalid value for POLARS_RECORD_BATCH_PREFETCH_KBYTES_BUDGET: {x}")View on GitHub (pinned to 9b5d73fd00)
Solutions
- Set POLARS_RECORD_BATCH_PREFETCH_SIZE to a positive integer or unset it.
Example fix
export POLARS_RECORD_BATCH_PREFETCH_SIZE=8
Defensive patterns
Strategy: validation
When it happens
Trigger: Invalid value in POLARS_RECORD_BATCH_PREFETCH_SIZE.
Common situations: See trigger scenarios.
AI-assisted analysis of pola-rs/polars@9b5d73fd00 (2026-08-19).
Data as JSON: /api/errors/f1a5de619dd6f924.
Report an issue: GitHub.