Skip to main content

Module iceberg_update

Module iceberg_update 

Source
Expand description

Delete-aware Iceberg ingestion (streaming_updates = 'true').

List dispatches bounded pages continuously within a phase. Fetch retires tasks at EOF. Small phases share one ordered Fetch route and follow each other without waiting. Other phase transitions wait asynchronously for an empty committed Fetch queue, while ordinary barriers remain responsive. Output and physical cursors recover at the same checkpoint.

List output rows and Fetch state rows are both (route, seq, json). The Fetch state table is keyed by (route, seq) and distributed by route, like the List-to-Fetch exchange.

Re-exportsยง

pub use fetch::IcebergUpdateFetchExecutor;
pub use list::IcebergUpdateListExecutor;

Modulesยง

fetch ๐Ÿ”’
Fetch reads assigned Iceberg update tasks and keeps a resumable cursor per task. Tasks are read in state-table order, so the tasks of one route are applied in dispatch order.
list ๐Ÿ”’
List enumerates bounded pages of Iceberg update tasks and dispatches them to Fetch.

Functionsยง

decode ๐Ÿ”’
Decodes the JSON value of a task row and checks it against the row key.
decode_value ๐Ÿ”’
encode ๐Ÿ”’
properties ๐Ÿ”’
scan_metrics ๐Ÿ”’
task_pk ๐Ÿ”’
The Fetch state primary key of an assignment.
task_row ๐Ÿ”’
task_row_types ๐Ÿ”’
The data types of List output rows and Fetch state rows.
validate_update_state_table ๐Ÿ”’