Skip to main content

materialize_all_views

Function materialize_all_views 

Source
pub fn materialize_all_views(
    lakehouse: Arc<LakehouseContext>,
    views: Arc<Vec<Arc<dyn View>>>,
    insert_range: TimeRange,
    partition_time_delta: TimeDelta,
) -> impl Future<Output = Result<()>>
Expand description

Materializes all views within a given time range.

This function iterates through the provided views, materializing partitions for each view within the specified insert_range and partition_time_delta.

Per-view failures are isolated: a view whose materialize_partition_range call errors is logged, counted (materialize_view_failure), and skipped — every other view, in the same update group or a later one, still gets its own materialization attempt this pass. This is a deliberate cross-group policy (“continue anyway”): materialization is idempotent and re-attempted every tick, so letting later groups proceed even after an earlier-group failure can’t corrupt anything, and it avoids reintroducing the group-granularity starvation this isolation is meant to fix. If any view failed, the pass still returns a single aggregated Err listing every failed view, so CronTask/log_task_result continues to record the pass as failed.