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

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

commit da63b55148f0f4a49050338539b1bc1ab250a76e
Author: Gabriel <[email protected]>
AuthorDate: Sun Oct 11 12:54:50 2026 +0800

    [fix](regression) Stabilize Paimon Rust IN filter checks on branch-4.1 
(#68899)
    
    ### What problem does this PR solve?
    
    The Paimon Rust reader regression expects its small integer IN runtime
    filter to reach the reader, but inherits `runtime_filter_max_in_num`.
    Fuzzy sessions can set this limit to zero, disabling the filter before
    it reaches Rust even with `runtime_filter_wait_infinitely=true`. The
    query remains correct while the positive pushdown assertion fails.
    
    Set the limit to 1024 before the pushdown checks. The existing large-set
    checks still use 70000, and the existing `finally` block restores the
    original limit. All result and profile assertions remain intact.
    
    Target: `branch-4.1`.
    
    ### Validation
    
    Ran the complete `test_paimon_rust_reader_eq_for_null` suite against a
    local three-BE branch-4.1 CI build with Spark 4.0, Paimon 1.4.2 and
    MinIO:
    
    - Original suite, normal limit: passed.
    - Original suite, initial `runtime_filter_max_in_num=0`: failed at the
    integer IN pushdown assertion; the probe reported input/applied counters
    of 0/0.
    - Patched suite, the same initial limit of 0: passed (1 suite, 0
    failures, 0 skipped); the probe reported 1/1 and the suite restored the
    original limit to 0.
    - `git diff --check`: passed.
    
    ### Release note
    
    None. Regression-test-only change.
    
    ### Check List (For Author)
    
    - [x] Regression test
    - [x] No product behavior change
    - [x] No documentation update needed
---
 .../paimon/test_paimon_rust_reader_eq_for_null.groovy                  | 3 +++
 1 file changed, 3 insertions(+)

diff --git 
a/regression-test/suites/external_table_p0/paimon/test_paimon_rust_reader_eq_for_null.groovy
 
b/regression-test/suites/external_table_p0/paimon/test_paimon_rust_reader_eq_for_null.groovy
index a5d4b3412ef..1beb5becae6 100644
--- 
a/regression-test/suites/external_table_p0/paimon/test_paimon_rust_reader_eq_for_null.groovy
+++ 
b/regression-test/suites/external_table_p0/paimon/test_paimon_rust_reader_eq_for_null.groovy
@@ -222,6 +222,9 @@ suite("test_paimon_rust_reader_eq_for_null", 
"p0,external,paimon") {
         sql """set runtime_filter_wait_infinitely=true"""
         // TRuntimeFilterType.IN == 1: force the IN runtime-filter shape.
         sql """set runtime_filter_type=1"""
+        // Fuzzy sessions can set this limit to zero, disabling IN filters 
even when awaited.
+        // The positive pushdown checks require the small IN sets to remain 
enabled.
+        sql "set runtime_filter_max_in_num=1024"
 
         // Reuse the framework's profile readiness polling and configured HTTP 
credentials.
         def profileAction = new ProfileAction(context)


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

Reply via email to