This is an automated email from the ASF dual-hosted git repository. 924060929 pushed a commit to branch fe_local_shuffle_optimize in repository https://gitbox.apache.org/repos/asf/doris.git
commit 3dfc9aa66fcfb3cd8d1ac17f514a397835432e9a Author: 924060929 <[email protected]> AuthorDate: Thu Jun 4 21:09:52 2026 +0800 [test](local shuffle) forced runtime-filter correctness case for the bucket upgrade --- .../local_shuffle/test_local_shuffle_bucket_upgrade.groovy | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/regression-test/suites/nereids_p0/local_shuffle/test_local_shuffle_bucket_upgrade.groovy b/regression-test/suites/nereids_p0/local_shuffle/test_local_shuffle_bucket_upgrade.groovy index e6710f0027e..3d0a0e08f76 100644 --- a/regression-test/suites/nereids_p0/local_shuffle/test_local_shuffle_bucket_upgrade.groovy +++ b/regression-test/suites/nereids_p0/local_shuffle/test_local_shuffle_bucket_upgrade.groovy @@ -153,6 +153,18 @@ suite("test_local_shuffle_bucket_upgrade") { assertTrue(stackedUpgradedText.contains("LOCAL_EXECUTION_HASH_SHUFFLE"), "ratio=1.1 must upgrade the stacked bucket chain to LOCAL hash") + // Forced-RF killer case: with the upgrade, the join build is hash-sliced; the + // per-instance IN/MIN_MAX partial filters MUST be merged before application + // (TRuntimeFilterDesc.force_local_merge). Before that fix this query silently + // lost up to 96% of its rows. + def rfHints = { ratio -> + hints('true', ratio).replace(")*/", + ", enable_runtime_filter_prune=false, runtime_filter_type='IN,MIN_MAX')*/") + } + def single_up_rf = sql "SELECT ${rfHints('1.1')} p.pk % 10 AS g, COUNT(*) c, SUM(f.v) sv, SUM(p.w) sw FROM lsbu_fact f JOIN lsbu_probe p ON p.k = f.k GROUP BY g ORDER BY g" + assertEquals(single_baseline, single_up_rf, + "upgraded bucket join with forced IN/MIN_MAX runtime filters must stay correct") + def stacked_baseline = sql stackedJoin(hints('false', '0')) def stacked_bucket = sql stackedJoin(hints('true', '0')) def stacked_upgraded = sql stackedJoin(hints('true', '1.1')) --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
