Skip to main content

Module iceberg_with_pk_index

Module iceberg_with_pk_index 

Source
Expand description

pk-index sink (V2/V3)

This module implements three core executors for the Iceberg pk-index sink that uses Deletion Vectors (DVs) instead of Equality Delete files:

  1. Writer Executor (Stateful): Maintains a PK index mapping primary keys to (file_path, position). Writes data files for inserts and emits (file_path, position) messages for deletes.

  2. Position-delete merger executor (Stateless): Consumes the Writer’s (file_path, position) messages, merges delete positions with historical deletes, and reports the resulting delete files to meta.

Re-exports§

pub use position_delete_handler_impl::PositionDeleteHandlerImpl;
pub use position_delete_merger::PositionDeleteMergerExecutor;
pub use writer::WriterExecutor;
pub use writer_impl::IcebergWriterImpl;

Modules§

position_delete_handler_impl 🔒
position_delete_merger 🔒
position_delete_staging 🔒
Pure, I/O-free bookkeeping for the position-delete merger’s in-memory “staging version”: the current delete state of each data file in this actor’s shard. Seeded once at init and appended to on every flush; the handler owns all iceberg I/O and calls into here for state transitions.
writer 🔒
writer_impl 🔒