pub async fn run_with_retry<F, Fut, Out>(
catalog: Arc<dyn Catalog>,
table_ident: TableIdent,
schema_id: i32,
partition_spec_id: i32,
retry_num: usize,
commit_action: F,
) -> Result<Out>Expand description
Run a commit-action against the given iceberg table with retry.
- Calls
reload_tablebefore each commit attempt to get the latest metadata - If
reload_tablefails (table not exists/schema/partition mismatch), stops retrying immediately - If commit fails, retries with backoff up to
retry_numtimes.
Strategy: exponential backoff 10ms→60s with jitter, up to retry_num retries.