Skip to main content

Module commit_retry

Module commit_retry 

Source
Expand description

Shared iceberg commit-with-retry primitive used by both the V1/V2 sink committer and the V3 sink coordinator worker. Wraps the standard pattern of “reload the table, build an action against the freshly-loaded snapshot, commit, retry on transient errors only”.

Structs§

CommitRetryLogContext

Enums§

CommitError
Distinguishes retriable from non-retriable errors inside run_with_retry.

Functions§

reload_table
Reload the iceberg table from the catalog and assert that its current schema_id and default_partition_spec_id still match the values the caller computed against. Schema, partition, or requested format evolution mid-commit is surfaced as a non-retriable error by the call sites.
run_with_retry
Run a commit-action against the given iceberg table with retry.
run_with_retry_from_table
Same as run_with_retry, but when initial_table is set the first attempt runs against it (after the same metadata validation) instead of reloading it from the catalog. Use this when the caller loaded the table right before the commit: a stale table only costs a commit conflict, and every retry reloads. initial_table must be the table named by table_ident.
validate_table_metadata 🔒