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

commit 905dbd94f457fd6a1df5547df600f881d0d61ec5
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Aug 3 22:24:51 2026 +0000

    Publish built docs triggered by af534e0fa01a2d9db47aa5aa43fc56f0c5908a72
---
 .../latest/understanding-comet-plans.md.txt         | 21 +++++++++++++++++++++
 searchindex.js                                      |  2 +-
 user-guide/latest/understanding-comet-plans.html    | 21 +++++++++++++++++++++
 3 files changed, 43 insertions(+), 1 deletion(-)

diff --git a/_sources/user-guide/latest/understanding-comet-plans.md.txt 
b/_sources/user-guide/latest/understanding-comet-plans.md.txt
index 2a6945c947..ea32e37b8f 100644
--- a/_sources/user-guide/latest/understanding-comet-plans.md.txt
+++ b/_sources/user-guide/latest/understanding-comet-plans.md.txt
@@ -178,6 +178,27 @@ inline in the UI. Earlier Spark versions do not have the
 `extendedExplainProviders` extension point, so this provider is not used and
 the config has no effect there.
 
+Not every node in the plan is an eligible operator. The following are excluded
+from both operator counts:
+
+- Transition nodes (`CometColumnarToRow`, `CometNativeColumnarToRow`,
+  `CometSparkRowToColumnar`, `CometSparkColumnarToColumnar`, `ColumnarToRow`,
+  `RowToColumnar`), which are reported separately as the transition count.
+  `CometSparkRowToColumnar` and `CometSparkColumnarToColumnar` are the two 
names
+  a single operator renders under, depending on whether its child already
+  produces columnar data, and both are excluded.
+- Wrappers that do no work of their own: `AdaptiveSparkPlan`, `InputAdapter`,
+  `WholeStageCodegen`, query stages, and `AQEShuffleRead`.
+- The reuse marker `ReusedSubquery`. The subquery it points at is counted where
+  that subquery is shown, so the marker itself does not add to the totals.
+- `ReusedExchange`, but with a caveat: it is not cleanly excluded the way the
+  wrappers above are. The node itself is skipped, and yet walking the plan
+  replaces it with the exchange it reuses, so the reused subtree is counted 
once
+  per reference rather than once for the whole plan. A plan that reuses one
+  exchange in three places contributes that subtree's operators three times.
+  Counting reused exchanges once is tracked as item 3 of
+  [#5203](https://github.com/apache/datafusion-comet/issues/5203).
+
 ### `spark.comet.explain.native.enabled`
 
 When enabled, each executor task logs the DataFusion plan it executes,
diff --git a/searchindex.js b/searchindex.js
index 2fd0a49ba0..ca0fcc769c 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"!": [[54, "id1"]], "%": [[52, "id1"]], "&": 
[[42, "id1"]], "*": [[52, "id2"]], "+": [[52, "id3"]], "-": [[52, "id4"]], "/": 
[[52, "id5"]], "1. Format Your Code": [[39, "format-your-code"]], "1. Install 
Comet": [[60, "install-comet"], [70, "install-comet"]], "1. Native Operators 
(nativeExecs map)": [[27, "native-operators-nativeexecs-map"]], "2. Build and 
Verify": [[39, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[60, 
"clone-iceberg-and-apply- [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"!": [[54, "id1"]], "%": [[52, "id1"]], "&": 
[[42, "id1"]], "*": [[52, "id2"]], "+": [[52, "id3"]], "-": [[52, "id4"]], "/": 
[[52, "id5"]], "1. Format Your Code": [[39, "format-your-code"]], "1. Install 
Comet": [[60, "install-comet"], [70, "install-comet"]], "1. Native Operators 
(nativeExecs map)": [[27, "native-operators-nativeexecs-map"]], "2. Build and 
Verify": [[39, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[60, 
"clone-iceberg-and-apply- [...]
\ No newline at end of file
diff --git a/user-guide/latest/understanding-comet-plans.html 
b/user-guide/latest/understanding-comet-plans.html
index a285017a7b..7069021272 100644
--- a/user-guide/latest/understanding-comet-plans.html
+++ b/user-guide/latest/understanding-comet-plans.html
@@ -913,6 +913,27 @@ literals, aliases) are excluded.</p></li>
 inline in the UI. Earlier Spark versions do not have the
 <code class="docutils literal notranslate"><span 
class="pre">extendedExplainProviders</span></code> extension point, so this 
provider is not used and
 the config has no effect there.</p>
+<p>Not every node in the plan is an eligible operator. The following are 
excluded
+from both operator counts:</p>
+<ul class="simple">
+<li><p>Transition nodes (<code class="docutils literal notranslate"><span 
class="pre">CometColumnarToRow</span></code>, <code class="docutils literal 
notranslate"><span class="pre">CometNativeColumnarToRow</span></code>,
+<code class="docutils literal notranslate"><span 
class="pre">CometSparkRowToColumnar</span></code>, <code class="docutils 
literal notranslate"><span 
class="pre">CometSparkColumnarToColumnar</span></code>, <code class="docutils 
literal notranslate"><span class="pre">ColumnarToRow</span></code>,
+<code class="docutils literal notranslate"><span 
class="pre">RowToColumnar</span></code>), which are reported separately as the 
transition count.
+<code class="docutils literal notranslate"><span 
class="pre">CometSparkRowToColumnar</span></code> and <code class="docutils 
literal notranslate"><span 
class="pre">CometSparkColumnarToColumnar</span></code> are the two names
+a single operator renders under, depending on whether its child already
+produces columnar data, and both are excluded.</p></li>
+<li><p>Wrappers that do no work of their own: <code class="docutils literal 
notranslate"><span class="pre">AdaptiveSparkPlan</span></code>, <code 
class="docutils literal notranslate"><span 
class="pre">InputAdapter</span></code>,
+<code class="docutils literal notranslate"><span 
class="pre">WholeStageCodegen</span></code>, query stages, and <code 
class="docutils literal notranslate"><span 
class="pre">AQEShuffleRead</span></code>.</p></li>
+<li><p>The reuse marker <code class="docutils literal notranslate"><span 
class="pre">ReusedSubquery</span></code>. The subquery it points at is counted 
where
+that subquery is shown, so the marker itself does not add to the 
totals.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">ReusedExchange</span></code>, but with a caveat: it is not cleanly 
excluded the way the
+wrappers above are. The node itself is skipped, and yet walking the plan
+replaces it with the exchange it reuses, so the reused subtree is counted once
+per reference rather than once for the whole plan. A plan that reuses one
+exchange in three places contributes that subtree’s operators three times.
+Counting reused exchanges once is tracked as item 3 of
+<a class="reference external" 
href="https://github.com/apache/datafusion-comet/issues/5203";>#5203</a>.</p></li>
+</ul>
 </section>
 <section id="spark-comet-explain-native-enabled">
 <h3><code class="docutils literal notranslate"><span 
class="pre">spark.comet.explain.native.enabled</span></code><a 
class="headerlink" href="#spark-comet-explain-native-enabled" title="Link to 
this heading">#</a></h3>


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

Reply via email to