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

github-actions[bot] pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/datafusion-comet.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 2e700ebafa Publish built docs triggered by 
8e489ea514c09f0a6cc7c04bc6d8735b6b097456
2e700ebafa is described below

commit 2e700ebafababd0a8109b21dd5e1edd73666adb6
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Sep 10 17:26:28 2026 +0000

    Publish built docs triggered by 8e489ea514c09f0a6cc7c04bc6d8735b6b097456
---
 _sources/user-guide/latest/iceberg-writes.md.txt | 7 +++++++
 searchindex.js                                   | 2 +-
 user-guide/latest/iceberg-writes.html            | 7 +++++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/_sources/user-guide/latest/iceberg-writes.md.txt 
b/_sources/user-guide/latest/iceberg-writes.md.txt
index fd89e44e14..20b9635f59 100644
--- a/_sources/user-guide/latest/iceberg-writes.md.txt
+++ b/_sources/user-guide/latest/iceberg-writes.md.txt
@@ -271,6 +271,13 @@ a data file but not what any reader computes from it:
   they may cross the target several grid steps apart, and the resulting files 
can differ in row
   count by an arbitrary number of 1000-row blocks. Do not rely on file-layout 
parity between the
   two writers; rely only on each file rolling on its own 1000-row boundary.
+- A fanout write lists a task's data files in file-path order, where 
iceberg-java lists them in
+  its own `StructLikeMap` iteration order. Both are stable across runs, and 
neither is a
+  documented ordering, but the manifest entry order becomes the scan-task 
order and so the row
+  order of an unordered `SELECT *`. Only the sorted order is reproducible on 
the native path:
+  iceberg-rust's `FanoutWriter` closes its per-partition writers out of a 
`HashMap`, which under
+  Rust's per-process `RandomState` would otherwise give a different order on 
every run. Clustered
+  and unpartitioned writes append in creation order on both paths and are 
unaffected.
 - Compressed page bytes are implementation-defined: the codec and any explicit 
level are
   translated, but parquet-rs and parquet-mr embed different encoder 
implementations and
   defaults (zstd default levels, LZ4 framing), so byte-identical output is not 
achievable even
diff --git a/searchindex.js b/searchindex.js
index a3dad8108c..547866c64e 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"!": [[55, "id1"]], "%": [[53, "id1"]], "&": 
[[43, "id1"]], "*": [[53, "id2"]], "+": [[53, "id3"]], "-": [[53, "id4"]], "/": 
[[53, "id5"]], "1. Format Your Code": [[40, "format-your-code"]], "1. Install 
Comet": [[61, "install-comet"], [71, "install-comet"]], "1. Native Operators 
(nativeExecs map)": [[28, "native-operators-nativeexecs-map"]], "2. Build and 
Verify": [[40, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[61, 
"clone-iceberg-and-apply- [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"!": [[55, "id1"]], "%": [[53, "id1"]], "&": 
[[43, "id1"]], "*": [[53, "id2"]], "+": [[53, "id3"]], "-": [[53, "id4"]], "/": 
[[53, "id5"]], "1. Format Your Code": [[40, "format-your-code"]], "1. Install 
Comet": [[61, "install-comet"], [71, "install-comet"]], "1. Native Operators 
(nativeExecs map)": [[28, "native-operators-nativeexecs-map"]], "2. Build and 
Verify": [[40, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[61, 
"clone-iceberg-and-apply- [...]
\ No newline at end of file
diff --git a/user-guide/latest/iceberg-writes.html 
b/user-guide/latest/iceberg-writes.html
index a0bc39059c..eb2a71377a 100644
--- a/user-guide/latest/iceberg-writes.html
+++ b/user-guide/latest/iceberg-writes.html
@@ -1051,6 +1051,13 @@ independent size estimates, so nothing bounds how far 
apart the two writers’ r
 they may cross the target several grid steps apart, and the resulting files 
can differ in row
 count by an arbitrary number of 1000-row blocks. Do not rely on file-layout 
parity between the
 two writers; rely only on each file rolling on its own 1000-row 
boundary.</p></li>
+<li><p>A fanout write lists a task’s data files in file-path order, where 
iceberg-java lists them in
+its own <code class="docutils literal notranslate"><span 
class="pre">StructLikeMap</span></code> iteration order. Both are stable across 
runs, and neither is a
+documented ordering, but the manifest entry order becomes the scan-task order 
and so the row
+order of an unordered <code class="docutils literal notranslate"><span 
class="pre">SELECT</span> <span class="pre">*</span></code>. Only the sorted 
order is reproducible on the native path:
+iceberg-rust’s <code class="docutils literal notranslate"><span 
class="pre">FanoutWriter</span></code> closes its per-partition writers out of 
a <code class="docutils literal notranslate"><span 
class="pre">HashMap</span></code>, which under
+Rust’s per-process <code class="docutils literal notranslate"><span 
class="pre">RandomState</span></code> would otherwise give a different order on 
every run. Clustered
+and unpartitioned writes append in creation order on both paths and are 
unaffected.</p></li>
 <li><p>Compressed page bytes are implementation-defined: the codec and any 
explicit level are
 translated, but parquet-rs and parquet-mr embed different encoder 
implementations and
 defaults (zstd default levels, LZ4 framing), so byte-identical output is not 
achievable even


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to