Skip to content

DRAFT [SS-148]: Iceberg Sink, don't retry commit unless it's definitely not a duplicate - #38333

Draft
ublubu wants to merge 6 commits into
MaterializeInc:mainfrom
ublubu:iceberg-double-committed
Draft

DRAFT [SS-148]: Iceberg Sink, don't retry commit unless it's definitely not a duplicate#38333
ublubu wants to merge 6 commits into
MaterializeInc:mainfrom
ublubu:iceberg-double-committed

Conversation

@ublubu

@ublubu ublubu commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Previously, if we committed to Iceberg but lost the success response:

  • We try committing the transaction again.
  • iceberg-rust reloads the table from the catalog and rebases our transaction onto the latest version of the table.
  • The table has two commits with the same data.

With this PR, if we don't know what happened to our commit, we do not proceed until we've successfully reloaded the table.

  • If we see our commit, consider it success. Done.
  • Otherwise, apply the same checks as we would for a conflict.
  • Then, try committing again.

Also new with this PR: If the commit error wasn't "Conflict" or "Unknown", consider it a definite, fatal error.

@ublubu
ublubu force-pushed the iceberg-double-committed branch from e7af868 to df87fbd Compare August 19, 2026 17:32
ublubu added 2 commits August 19, 2026 14:15
Claude: on both retrial paths, check for other writers

Human: rewrite comments
@ublubu
ublubu force-pushed the iceberg-double-committed branch from df87fbd to 4da11f8 Compare August 19, 2026 18:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant