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-ballista.git


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

commit ade6c2ce463dfcbb7b69d0ade767562e4d35db44
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Sat Jul 18 14:54:26 2026 +0000

    Publish built docs triggered by fd5aa65d6e332d532cd8220b524bac2daeca15f9
---
 _sources/user-guide/tuning-guide.md.txt | 11 ++++++++---
 searchindex.js                          |  2 +-
 user-guide/tuning-guide.html            | 13 +++++++++++++
 3 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/_sources/user-guide/tuning-guide.md.txt 
b/_sources/user-guide/tuning-guide.md.txt
index c8845ba22..c2daa312b 100644
--- a/_sources/user-guide/tuning-guide.md.txt
+++ b/_sources/user-guide/tuning-guide.md.txt
@@ -196,9 +196,11 @@ Adaptive Query Planning is EXPERIMENTAL, should be used 
for testing purposes onl
 
 ### Configuration
 
-| key                               | type    | default | description          
                       |
-| --------------------------------- | ------- | ------- | 
------------------------------------------- |
-| ballista.planner.adaptive.enabled | Boolean | false   | Enables the adaptive 
planner. Experimental. |
+| key                                               | type    | default  | 
description                                                                     
                                                                                
       |
+| ------------------------------------------------- | ------- | -------- | 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
 |
+| ballista.planner.adaptive.enabled                 | Boolean | false    | 
Enables the adaptive planner. Experimental.                                     
                                                                                
       |
+| ballista.optimizer.broadcast_join_threshold_bytes | UInt64  | 10485760 | 
Byte-size threshold below which a hash join's smaller side is broadcast 
(`CollectLeft`). Governs both the static planner and AQE. Set to 0 to disable 
broadcast joins. |
+| ballista.optimizer.broadcast_join_threshold_rows  | UInt64  | 1000000  | 
Row-count fallback threshold used when byte-size statistics are unavailable. 
Applies to AQE. Set to 0 to disable promotion via the row-count path.           
          |
 
 ### What AQE does today
 
@@ -209,6 +211,9 @@ implemented:
 
 - **Join reordering.** Uses runtime row counts from completed stages so the
   smaller side drives the join.
+- **Broadcast join selection.** When a join input's runtime size falls under
+  `ballista.optimizer.broadcast_join_threshold_bytes` (or the row-count
+  fallback), the smaller side is broadcast (`CollectLeft`) instead of shuffled.
 - **Empty stage elimination.** When a completed stage produces zero rows, its
   downstream exchange is replaced with an empty execution node, and emptiness
   is propagated up the plan so downstream stages are skipped entirely.
diff --git a/searchindex.js b/searchindex.js
index 1a6ade22b..78d8adb32 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles":{"AQE join behavior 
(opt-in)":[[27,"aqe-join-behavior-opt-in"]],"Adaptive Query Execution 
(AQE)":[[21,"adaptive-query-execution-aqe"]],"Adaptive Query Execution 
(Experimental)":[[50,"adaptive-query-execution-experimental"]],"Adding a 
persona":[[25,"adding-a-persona"]],"Aggregate 
Functions":[[49,"aggregate-functions"]],"Apache DataFusion 
Ballista":[[26,null]],"Apache DataFusion Ballista 0.10.0 
Changelog":[[0,null]],"Apache DataFusion Ballista 0.11.0 Changelog" [...]
\ No newline at end of file
+Search.setIndex({"alltitles":{"AQE join behavior 
(opt-in)":[[27,"aqe-join-behavior-opt-in"]],"Adaptive Query Execution 
(AQE)":[[21,"adaptive-query-execution-aqe"]],"Adaptive Query Execution 
(Experimental)":[[50,"adaptive-query-execution-experimental"]],"Adding a 
persona":[[25,"adding-a-persona"]],"Aggregate 
Functions":[[49,"aggregate-functions"]],"Apache DataFusion 
Ballista":[[26,null]],"Apache DataFusion Ballista 0.10.0 
Changelog":[[0,null]],"Apache DataFusion Ballista 0.11.0 Changelog" [...]
\ No newline at end of file
diff --git a/user-guide/tuning-guide.html b/user-guide/tuning-guide.html
index d98ced482..4ae2b2907 100644
--- a/user-guide/tuning-guide.html
+++ b/user-guide/tuning-guide.html
@@ -585,6 +585,16 @@ clear that AQE was used:</p>
 <td><p>false</p></td>
 <td><p>Enables the adaptive planner. Experimental.</p></td>
 </tr>
+<tr 
class="row-odd"><td><p>ballista.optimizer.broadcast_join_threshold_bytes</p></td>
+<td><p>UInt64</p></td>
+<td><p>10485760</p></td>
+<td><p>Byte-size threshold below which a hash join’s smaller side is broadcast 
(<code class="docutils literal notranslate"><span 
class="pre">CollectLeft</span></code>). Governs both the static planner and 
AQE. Set to 0 to disable broadcast joins.</p></td>
+</tr>
+<tr 
class="row-even"><td><p>ballista.optimizer.broadcast_join_threshold_rows</p></td>
+<td><p>UInt64</p></td>
+<td><p>1000000</p></td>
+<td><p>Row-count fallback threshold used when byte-size statistics are 
unavailable. Applies to AQE. Set to 0 to disable promotion via the row-count 
path.</p></td>
+</tr>
 </tbody>
 </table>
 </div>
@@ -598,6 +608,9 @@ implemented:</p>
 <ul class="simple">
 <li><p><strong>Join reordering.</strong> Uses runtime row counts from 
completed stages so the
 smaller side drives the join.</p></li>
+<li><p><strong>Broadcast join selection.</strong> When a join input’s runtime 
size falls under
+<code class="docutils literal notranslate"><span 
class="pre">ballista.optimizer.broadcast_join_threshold_bytes</span></code> (or 
the row-count
+fallback), the smaller side is broadcast (<code class="docutils literal 
notranslate"><span class="pre">CollectLeft</span></code>) instead of 
shuffled.</p></li>
 <li><p><strong>Empty stage elimination.</strong> When a completed stage 
produces zero rows, its
 downstream exchange is replaced with an empty execution node, and emptiness
 is propagated up the plan so downstream stages are skipped entirely.</p></li>


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

Reply via email to