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 7e7766a081 Publish built docs triggered by 
5ca149928f7743bfe7a96feadea5e0f9bed1412f
7e7766a081 is described below

commit 7e7766a0814465a46079fe27090697382b0a7487
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Sep 21 06:54:16 2026 +0000

    Publish built docs triggered by 5ca149928f7743bfe7a96feadea5e0f9bed1412f
---
 .buildinfo                                         |  2 +-
 ...id-013012468fa27c9e9fdb0a14196d357c619c68a8.svg |  1 +
 ...id-24951e49e88a2a575316ecedeb5309d49a140d7a.svg |  1 +
 ...id-d0bb31b07009ce49e46219a49cdd8e6531dd24ce.svg |  1 +
 contributor-guide/ci.html                          | 16 ++++++++
 contributor-guide/memory_management.html           | 47 ++++++++++++++++++++++
 6 files changed, 67 insertions(+), 1 deletion(-)

diff --git a/.buildinfo b/.buildinfo
index c2bc25f3aa..b2a695f0bf 100644
--- a/.buildinfo
+++ b/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it 
is not found, a full rebuild will be done.
-config: e33ca1ce50b275ab64dabb2fb0347e98
+config: eb8ea1a0b32c78350beb1996fa5f6c03
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/_images/mermaid-013012468fa27c9e9fdb0a14196d357c619c68a8.svg 
b/_images/mermaid-013012468fa27c9e9fdb0a14196d357c619c68a8.svg
new file mode 100644
index 0000000000..6bd32b44e8
--- /dev/null
+++ b/_images/mermaid-013012468fa27c9e9fdb0a14196d357c619c68a8.svg
@@ -0,0 +1 @@
+<svg id="my-svg" width="100%" xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; class="flowchart" style="max-width: 
511.73px; background-color: transparent;" viewBox="0 0 511.7299499511719 942" 
role="graphics-document document" 
aria-roledescription="flowchart-v2"><style>#my-svg{font-family:"trebuchet 
ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes 
edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes 
dash{to{stroke-dashoffset:0;}}#my-svg [...]
\ No newline at end of file
diff --git a/_images/mermaid-24951e49e88a2a575316ecedeb5309d49a140d7a.svg 
b/_images/mermaid-24951e49e88a2a575316ecedeb5309d49a140d7a.svg
new file mode 100644
index 0000000000..92fc4294f2
--- /dev/null
+++ b/_images/mermaid-24951e49e88a2a575316ecedeb5309d49a140d7a.svg
@@ -0,0 +1 @@
+<svg id="my-svg" width="100%" xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; class="flowchart" style="max-width: 
1170.02px; background-color: transparent;" viewBox="0 0 1170.015625 1229" 
role="graphics-document document" 
aria-roledescription="flowchart-v2"><style>#my-svg{font-family:"trebuchet 
ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes 
edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes 
dash{to{stroke-dashoffset:0;}}#my-svg .ed [...]
\ No newline at end of file
diff --git a/_images/mermaid-d0bb31b07009ce49e46219a49cdd8e6531dd24ce.svg 
b/_images/mermaid-d0bb31b07009ce49e46219a49cdd8e6531dd24ce.svg
new file mode 100644
index 0000000000..f848f9b61f
--- /dev/null
+++ b/_images/mermaid-d0bb31b07009ce49e46219a49cdd8e6531dd24ce.svg
@@ -0,0 +1 @@
+<svg id="my-svg" width="100%" xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; class="flowchart" style="max-width: 
1661px; background-color: transparent;" viewBox="0 0 1661 660" 
role="graphics-document document" 
aria-roledescription="flowchart-v2"><style>#my-svg{font-family:"trebuchet 
ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes 
edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes 
dash{to{stroke-dashoffset:0;}}#my-svg .edge-animatio [...]
\ No newline at end of file
diff --git a/contributor-guide/ci.html b/contributor-guide/ci.html
index e4fd820df1..1c48d21a3e 100644
--- a/contributor-guide/ci.html
+++ b/contributor-guide/ci.html
@@ -559,6 +559,22 @@ mechanics behind the configuration are documented in
 preflight checks first (license headers, Markdown formatting, workflow 
linting, the CI config
 checks), computes which heavy jobs the changed files are relevant to, and fans 
out to those jobs.
 Which jobs run also depends on the event:</p>
+<object data="../_images/mermaid-013012468fa27c9e9fdb0a14196d357c619c68a8.svg" 
type="image/svg+xml">
+            <p class="warning">flowchart LR
+  PR([pull request]) --&gt; PRTIER
+  PR -. with label .-&gt; QUEUE
+  PR -. with label .-&gt; NIGHTLY
+  PR -. with label .-&gt; S34
+  MQ([merge queue]) --&gt; PRTIER
+  MQ --&gt; QUEUE
+  CRON([schedule&lt;br&gt;06:00 UTC]) --&gt; NIGHTLY
+  PUSH([push to main]) --&gt; CACHE
+
+  PRTIER[&quot;PR tier&lt;br&gt;Linux build, lint, Rust tests&lt;br&gt;TPC-H / 
TPC-DS&lt;br&gt;Comet suites, Spark 4.1&quot;]
+  QUEUE[&quot;Queue tier, on top of the PR tier&lt;br&gt;Spark SQL, Spark 
4.1&lt;br&gt;Iceberg 1.11&lt;br&gt;macOS build and Comet 
suites&lt;br&gt;Benchmark check, Delta gate&lt;br&gt;PyArrow UDF, Spark 4.0 / 
4.1 / 4.2&quot;]
+  NIGHTLY[&quot;Nightly tier&lt;br&gt;Comet suites, Spark 3.4 / 3.5 / 4.0 / 
4.2&lt;br&gt;Spark SQL, Spark 3.5 / 4.0&lt;br&gt;Iceberg 1.8 / 1.9 / 1.10&quot;]
+  S34[&quot;Neither tier&lt;br&gt;Spark SQL, Spark 3.4&quot;]
+  CACHE[&quot;Cache-refresh-only mode&lt;br&gt;the four cache-writing jobs, 
plus Lint&quot;]</p></object>
 <p>Suite by suite:</p>
 <div class="pst-scrollable-table-container"><table class="table">
 <thead>
diff --git a/contributor-guide/memory_management.html 
b/contributor-guide/memory_management.html
index 0452b0156d..2a4408aabb 100644
--- a/contributor-guide/memory_management.html
+++ b/contributor-guide/memory_management.html
@@ -681,6 +681,36 @@ returns <code class="docutils literal notranslate"><span 
class="pre">CometUnifie
 <code class="docutils literal notranslate"><span 
class="pre">spark.memory.offHeap.size</span></code>, so shuffle pages are 
arbitrated against Spark’s other consumers in the
 same task like any other allocation.</p>
 <p>Which allocator each call site uses, and who ends up charged for the 
bytes:</p>
+<object data="../_images/mermaid-24951e49e88a2a575316ecedeb5309d49a140d7a.svg" 
type="image/svg+xml">
+            <p class="warning">flowchart LR
+  subgraph SITES[&quot;JVM Arrow allocation sites&quot;]
+    NU[&quot;NativeUtil&lt;br&gt;FFI structs, imports, exports&quot;]
+    UDF[&quot;CometUdfBridge&lt;br&gt;JVM UDF inputs and result&quot;]
+    CGO[&quot;CometBatchKernelCodegenOutput&lt;br&gt;codegen UDF output&quot;]
+    SR[&quot;StreamReader&lt;br&gt;shuffle and IPC reads&quot;]
+    NAS[&quot;CometNativeArrowSource&lt;br&gt;stream and readerBatchIter&quot;]
+    CACHE[&quot;ArrowCachedBatchSerializer&quot;]
+    PY[&quot;CometArrowPythonRunnerBase&quot;]
+    BC[&quot;Utils broadcast-coalesce&quot;]
+  end
+
+  ROOT[&quot;CometArrowAllocator&lt;br&gt;RootAllocator, no limit&lt;br&gt;no 
allocation listener&quot;]
+  SHUF[&quot;Comet JVM shuffle 
pages&lt;br&gt;CometUnifiedShuffleMemoryAllocator&quot;]
+  NPOOL[&quot;Comet native memory pool&lt;br&gt;declared reservations 
only&quot;]
+  TMM[&quot;Spark off-heap execution pool&lt;br&gt;TaskMemoryManager&quot;]
+  NOBODY[&quot;accounted by nobody&quot;]
+
+  NU --&gt; ROOT
+  UDF --&gt; ROOT
+  CGO --&gt; ROOT
+  SR --&gt; ROOT
+  NAS --&gt; ROOT
+  CACHE --&gt; ROOT
+  PY --&gt; ROOT
+  BC --&gt; ROOT
+  ROOT --&gt; NOBODY
+  SHUF --&gt; TMM
+  NPOOL --&gt;|&quot;CometTaskMemoryManager over JNI&quot;| TMM</p></object>
 <section id="constraints-on-a-comet-memory-consumer">
 <h3>Constraints on a Comet memory consumer<a class="headerlink" 
href="#constraints-on-a-comet-memory-consumer" title="Link to this 
heading">#</a></h3>
 <p><code class="docutils literal notranslate"><span 
class="pre">CometTaskMemoryManager</span></code> is the one place where Comet 
code acts as a Spark <code class="docutils literal notranslate"><span 
class="pre">MemoryConsumer</span></code>, and the
@@ -925,6 +955,23 @@ hard ceiling on the sum of everything in the container. 
That cgroup counts, amon
 <li><p>page cache charged to the cgroup by the container’s file I/O, including 
spill files.</p></li>
 </ul>
 <p>Everything the cgroup counts, and who accounts for each part:</p>
+<object data="../_images/mermaid-d0bb31b07009ce49e46219a49cdd8e6531dd24ce.svg" 
type="image/svg+xml">
+            <p class="warning">flowchart TB
+  subgraph CG[&quot;pod cgroup memory.max, kernel OOM kill above this&quot;]
+    subgraph SEEN[&quot;visible to Spark's accounting&quot;]
+      HEAP[&quot;JVM heap&lt;br&gt;execution and 
storage&lt;br&gt;spark.executor.memory&quot;]
+      TUNG[&quot;Spark Tungsten off-heap&lt;br&gt;TaskMemoryManager&quot;]
+      SHUFP[&quot;Comet JVM shuffle 
pages&lt;br&gt;CometUnifiedShuffleMemoryAllocator&quot;]
+      NATRES[&quot;Comet native heap, reserved&lt;br&gt;operators that call 
try_grow&lt;br&gt;declared to Spark over JNI, never measured&quot;]
+    end
+    subgraph NONE[&quot;accounted by nobody&quot;]
+      NATUND[&quot;Comet native heap, undeclared&lt;br&gt;kernels, array 
builders, decompression&lt;br&gt;Parquet metadata, object_store, tokio&quot;]
+      ARROWR[&quot;Comet JVM Arrow&lt;br&gt;CometArrowAllocator, 
unbounded&quot;]
+      NONHEAP[&quot;JVM non-heap&lt;br&gt;metaspace, code cache, thread 
stacks&lt;br&gt;GC structures, Netty direct buffers&quot;]
+      PAGEC[&quot;page cache charged to the cgroup&lt;br&gt;file I/O, 
including spill files&quot;]
+      FRAG[&quot;allocator overhead&lt;br&gt;fragmentation, 
padding&lt;br&gt;jemalloc retained and dirty pages&quot;]
+    end
+  end</p></object>
 <p>Spark’s accounting covers the first group, though not in the same sense 
throughout it. The JVM
 heap, Tungsten pages and Comet’s shuffle pages are allocated by JVM code that 
reports what it
 allocated. A native reservation is a number an operator declared before 
allocating: <code class="docutils literal notranslate"><span 
class="pre">try_grow</span></code>


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

Reply via email to