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

morningman pushed a commit to branch branch-4.0
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-4.0 by this push:
     new e546a0e3c9e branch-4.0: [test](nereids) stabilize flaky 
prune_bucket_with_bucket_shuffle_join #64530 (#64546)
e546a0e3c9e is described below

commit e546a0e3c9e8d731601ab279f854c44277df44d6
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Jun 19 21:04:00 2026 +0800

    branch-4.0: [test](nereids) stabilize flaky 
prune_bucket_with_bucket_shuffle_join #64530 (#64546)
    
    Cherry-picked from #64530
    
    Co-authored-by: 924060929 <[email protected]>
---
 .../prune_bucket_with_bucket_shuffle_join.groovy        | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git 
a/regression-test/suites/nereids_syntax_p0/distribute/prune_bucket_with_bucket_shuffle_join.groovy
 
b/regression-test/suites/nereids_syntax_p0/distribute/prune_bucket_with_bucket_shuffle_join.groovy
index b73c84eb3ac..befef5cb83b 100644
--- 
a/regression-test/suites/nereids_syntax_p0/distribute/prune_bucket_with_bucket_shuffle_join.groovy
+++ 
b/regression-test/suites/nereids_syntax_p0/distribute/prune_bucket_with_bucket_shuffle_join.groovy
@@ -86,6 +86,23 @@ suite("prune_bucket_with_bucket_shuffle_join") {
         set parallel_pipeline_task_num=1;
         """
 
+    // With enable_nereids_distribute_planner=true the RIGHT OUTER JOIN 
distribution is
+    // non-deterministic between BUCKET_SHUFFLE and PARTITIONED. The choice is 
sticky within
+    // a connection (so retrying in the same connection can not change it), 
and both plans are
+    // correct -- BUCKET_SHUFFLE just saves one exchange. Only run the 
bucket-shuffle-specific
+    // checks when the planner actually chose BUCKET_SHUFFLE, otherwise return 
directly.
+    String bucketShuffleExplain = null
+    explain {
+        sql sqlStr
+        check { result ->
+            log.info("Explain result:\n${result}")
+            bucketShuffleExplain = result
+        }
+    }
+    if (!bucketShuffleExplain.contains("RIGHT OUTER JOIN(BUCKET_SHUFFLE)")) {
+        return
+    }
+
     extractFragment(sqlStr, "RIGHT OUTER JOIN(BUCKET_SHUFFLE)") { exchangeNum 
->
         assertTrue(exchangeNum == 1)
     }


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

Reply via email to