pub struct MemoryControlPolicy {
pub device_budget_bytes: u64,
pub max_source_chunk_bytes: u64,
pub max_row_groups_per_chunk: usize,
pub max_retry_attempts: usize,
pub min_retry_chunk_row_groups: usize,
}Expand description
The device budget and source chunking one execution runs under. An admitted attempt’s budget is its grant.
Fields§
§device_budget_bytes: u64Allocation cap of the attempt. The runtime’s device ledger enforces it; planning only sizes chunks against it.
max_source_chunk_bytes: u64Source-byte grouping target, compared with each chunk’s decoded size
estimate (crate::chunk::decoded). u64::MAX leaves the configured
target unset; source tasks derive a finite target from the admitted grant.
max_row_groups_per_chunk: usizeRow groups coalesced into one source chunk. The throughput planning
mode may raise it to the row-group cap crate::chunk owns.
max_retry_attempts: usizeAttempts the engine’s retry may spend splitting one chunk after an allocation failure.
min_retry_chunk_row_groups: usizeSmallest chunk, in row groups, a retry may split down to.
Implementations§
Source§impl MemoryControlPolicy
impl MemoryControlPolicy
Sourcepub const DEFAULT_MAX_SOURCE_CHUNK_BYTES: u64 = u64::MAX
pub const DEFAULT_MAX_SOURCE_CHUNK_BYTES: u64 = u64::MAX
No configured source-byte ceiling; the immutable grant sizes batches.
Sourcepub const DEFAULT_MAX_ROW_GROUPS_PER_CHUNK: usize = 1
pub const DEFAULT_MAX_ROW_GROUPS_PER_CHUNK: usize = 1
One row group per chunk. The default throughput planning mode raises this cap for local Parquet sources; the conservative mode keeps it.
Sourcepub const DEFAULT_MAX_RETRY_ATTEMPTS: usize = 3
pub const DEFAULT_MAX_RETRY_ATTEMPTS: usize = 3
Default retry limit for splitting a source chunk after allocation failure.
Sourcepub const DEFAULT_MIN_RETRY_CHUNK_ROW_GROUPS: usize = 1
pub const DEFAULT_MIN_RETRY_CHUNK_ROW_GROUPS: usize = 1
Default minimum retry chunk of one row group.