This is an automated email from the ASF dual-hosted git repository.

github-actions[bot] pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/iceberg-go.git


The following commit(s) were added to refs/heads/gh-pages by this push:
     new f2fc040ce deploy: cc260be95386c91ab55b7cfc322265034d168bea
f2fc040ce is described below

commit f2fc040ce4c89b2015d5f53fc76fb06bcb647260
Author: zeroshade <[email protected]>
AuthorDate: Mon Oct 26 17:18:35 2026 +0000

    deploy: cc260be95386c91ab55b7cfc322265034d168bea
---
 concurrent-writes.html | 12 ++++++++----
 print.html             | 15 +++++++++++----
 releases.html          |  3 +++
 searchindex.js         |  2 +-
 searchindex.json       |  2 +-
 5 files changed, 24 insertions(+), 10 deletions(-)

diff --git a/concurrent-writes.html b/concurrent-writes.html
index 4be21e7e5..1252a5dd3 100644
--- a/concurrent-writes.html
+++ b/concurrent-writes.html
@@ -278,7 +278,11 @@ rejects when concurrent deletes touch the same files.</p>
 <p>iceberg-go can refresh the table and replay the operation against the latest
 snapshot between attempts. On each retry the table metadata is reloaded, the
 producer's validators re-run against the fresh snapshot, and the commit is
-re-submitted only if it is still valid.</p>
+re-submitted only if it is still valid. <code>RollbackToSnapshot</code>, 
<code>ExpireSnapshots</code>
+and <code>AssertRefSnapshotID</code> pin the refs they guard, so a retry does 
not rebase
+those assertions. If a guarded ref has moved, the commit fails with
+<code>ErrCommitFailed</code> instead of retrying. An 
<code>ExpireSnapshots</code> that removes nothing
+adds no guards.</p>
 <p>Retry is <strong>off by default</strong> 
(<code>commit.retry.num-retries</code> is <code>0</code>). Opt in by
 setting the retry properties — see <a 
href="./configuration.html#manifest-and-commit">Manifest and commit</a>
 in the configuration reference for the full list:</p>
@@ -290,9 +294,9 @@ _, err := cat.CreateTable(ctx, ident, schema,
 )
 </code></pre>
 <blockquote>
-<p><strong>Catalog support:</strong> retry currently engages on the REST 
catalog, which wraps
-commit conflicts as <code>ErrCommitFailed</code>. The Glue, SQL, and Hive 
catalogs do
-not yet wrap their conflict errors, so the retry loop will not fire on 
them.</p>
+<p><strong>Catalog support:</strong> the REST, SQL, Glue, Hive, and Hadoop 
catalogs report
+commit conflicts, including requirements that fail because of a concurrent
+change, as <code>ErrCommitFailed</code>, so the retry loop engages on all of 
them.</p>
 </blockquote>
 
                     </main>
diff --git a/print.html b/print.html
index 4e95ad382..a32bc0fa6 100644
--- a/print.html
+++ b/print.html
@@ -2010,7 +2010,11 @@ rejects when concurrent deletes touch the same files.</p>
 <p>iceberg-go can refresh the table and replay the operation against the latest
 snapshot between attempts. On each retry the table metadata is reloaded, the
 producer's validators re-run against the fresh snapshot, and the commit is
-re-submitted only if it is still valid.</p>
+re-submitted only if it is still valid. <code>RollbackToSnapshot</code>, 
<code>ExpireSnapshots</code>
+and <code>AssertRefSnapshotID</code> pin the refs they guard, so a retry does 
not rebase
+those assertions. If a guarded ref has moved, the commit fails with
+<code>ErrCommitFailed</code> instead of retrying. An 
<code>ExpireSnapshots</code> that removes nothing
+adds no guards.</p>
 <p>Retry is <strong>off by default</strong> 
(<code>commit.retry.num-retries</code> is <code>0</code>). Opt in by
 setting the retry properties — see <a 
href="./configuration.html#manifest-and-commit">Manifest and commit</a>
 in the configuration reference for the full list:</p>
@@ -2022,9 +2026,9 @@ _, err := cat.CreateTable(ctx, ident, schema,
 )
 </code></pre>
 <blockquote>
-<p><strong>Catalog support:</strong> retry currently engages on the REST 
catalog, which wraps
-commit conflicts as <code>ErrCommitFailed</code>. The Glue, SQL, and Hive 
catalogs do
-not yet wrap their conflict errors, so the retry loop will not fire on 
them.</p>
+<p><strong>Catalog support:</strong> the REST, SQL, Glue, Hive, and Hadoop 
catalogs report
+commit conflicts, including requirements that fail because of a concurrent
+change, as <code>ErrCommitFailed</code>, so the retry loop engages on all of 
them.</p>
 </blockquote>
 <div style="break-before: page; page-break-before: always;"></div><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
@@ -2595,6 +2599,9 @@ make integration-external-rest
 <h3 id="unreleased-compatibility-notes"><a class="header" 
href="#unreleased-compatibility-notes">Unreleased compatibility notes</a></h3>
 <ul>
 <li>
+<p><strong>Filesystem adapter construction consolidated.</strong> Replace 
<code>io.FSPreProcName(fsys, fn)</code> with <code>io.FS(fsys, 
io.WithNamePreprocessor(fn))</code>. Plain <code>io.FS(fsys)</code> remains 
supported.</p>
+</li>
+<li>
 <p><strong>Table purge is required on catalogs.</strong> The 
<code>catalog.Catalog</code> interface now embeds 
<code>catalog.PurgeableCatalog</code>; every custom catalog implementation must 
provide <code>PurgeTable(ctx, identifier) error</code>. The narrow 
<code>catalog.PurgeableTable</code> interface is renamed to 
<code>catalog.PurgeableCatalog</code>. Built-in purge behavior is unchanged.</p>
 </li>
 <li>
diff --git a/releases.html b/releases.html
index a3514579a..cd0c6dc22 100644
--- a/releases.html
+++ b/releases.html
@@ -249,6 +249,9 @@
 <h3 id="unreleased-compatibility-notes"><a class="header" 
href="#unreleased-compatibility-notes">Unreleased compatibility notes</a></h3>
 <ul>
 <li>
+<p><strong>Filesystem adapter construction consolidated.</strong> Replace 
<code>io.FSPreProcName(fsys, fn)</code> with <code>io.FS(fsys, 
io.WithNamePreprocessor(fn))</code>. Plain <code>io.FS(fsys)</code> remains 
supported.</p>
+</li>
+<li>
 <p><strong>Table purge is required on catalogs.</strong> The 
<code>catalog.Catalog</code> interface now embeds 
<code>catalog.PurgeableCatalog</code>; every custom catalog implementation must 
provide <code>PurgeTable(ctx, identifier) error</code>. The narrow 
<code>catalog.PurgeableTable</code> interface is renamed to 
<code>catalog.PurgeableCatalog</code>. Built-in purge behavior is unchanged.</p>
 </li>
 <li>
diff --git a/searchindex.js b/searchindex.js
index 64cc6fcfb..8598ea6ed 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Object.assign(window.search, 
{"doc_urls":["introduction.html#iceberg-go","introduction.html#where-to-start","introduction.html#what-works-today","introduction.html#beyond-go","introduction.html#help-and-contribution","install.html#install","install.html#requirements","install.html#installation","getting-started.html#getting-started","getting-started.html#1-install","getting-started.html#2-open-a-local-catalog","getting-started.html#3-create-a-namespace-and-a-table","getting-started.html#
 [...]
\ No newline at end of file
+Object.assign(window.search, 
{"doc_urls":["introduction.html#iceberg-go","introduction.html#where-to-start","introduction.html#what-works-today","introduction.html#beyond-go","introduction.html#help-and-contribution","install.html#install","install.html#requirements","install.html#installation","getting-started.html#getting-started","getting-started.html#1-install","getting-started.html#2-open-a-local-catalog","getting-started.html#3-create-a-namespace-and-a-table","getting-started.html#
 [...]
\ No newline at end of file
diff --git a/searchindex.json b/searchindex.json
index 4e087e70f..9e270642d 100644
--- a/searchindex.json
+++ b/searchindex.json
@@ -1 +1 @@
-{"doc_urls":["introduction.html#iceberg-go","introduction.html#where-to-start","introduction.html#what-works-today","introduction.html#beyond-go","introduction.html#help-and-contribution","install.html#install","install.html#requirements","install.html#installation","getting-started.html#getting-started","getting-started.html#1-install","getting-started.html#2-open-a-local-catalog","getting-started.html#3-create-a-namespace-and-a-table","getting-started.html#4-write-some-arrow-data","get
 [...]
\ No newline at end of file
+{"doc_urls":["introduction.html#iceberg-go","introduction.html#where-to-start","introduction.html#what-works-today","introduction.html#beyond-go","introduction.html#help-and-contribution","install.html#install","install.html#requirements","install.html#installation","getting-started.html#getting-started","getting-started.html#1-install","getting-started.html#2-open-a-local-catalog","getting-started.html#3-create-a-namespace-and-a-table","getting-started.html#4-write-some-arrow-data","get
 [...]
\ No newline at end of file

Reply via email to