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]