Expand description
Manager for the Iceberg V3 sink path. Owns per-sink commit coordinators that
drive iceberg commit_epoch ahead of hummock commit_epoch and persist
exactly-once state via pending_sink_state.
This is intentionally separate from crate::manager::sink_coordination
(which serves V1/V2 sinks via gRPC). Future V3 responsibilities such as
per-sink compaction will live alongside the per-sink commit coordinator here.
Modules§
- backfill
- coordinator 🔒
- Per-sink Iceberg V3 commit coordinator. This is a plain struct (no background task / mpsc): the
crate::manager::iceberg_v3_sink::IcebergV3SinkManagerholds one per registered sink behind a per-sink async mutex and callsIcebergV3Coordinator::pre_commit/IcebergV3Coordinator::commitdirectly from the barrier-completion path. The barrier path already serializes pre-commit/commit per epoch, so the coordinator never needs its own request queue. - manager 🔒
Structs§
- Iceberg
V3Sink Manager - Manager for the Iceberg V3 sink path, cheap to clone.
Functions§
- build_
iceberg_ config - Build an
IcebergConfigfrom aPbSink, filling secret refs along the way. Used at CREATE SINK time and during recovery to (re-)register the V3 commit coordinator. - is_
iceberg_ v3_ sink - Returns true if the given sink properties identify a Iceberg V3 sink
(i.e. an iceberg sink with
enable_pk_index = 'true').