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