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 28add521d04 branch-4.0: [fix](test) deflake test_curd_wlg and adapt 
test_single_replica_compaction_with_format_v2 to V3 default (#64666)
28add521d04 is described below

commit 28add521d043de755c6d705b5972d731228c6a5c
Author: Mingyu Chen (Rayner) <[email protected]>
AuthorDate: Mon Jun 22 16:07:53 2026 +0800

    branch-4.0: [fix](test) deflake test_curd_wlg and adapt 
test_single_replica_compaction_with_format_v2 to V3 default (#64666)
    
    ## Proposed changes
    
    Fix two pre-existing branch-4.0 P0 regression-test failures (surfaced by
    an internal P0 build). Both are test-side issues, unrelated to product
    code.
    
    ### 1. `test_single_replica_compaction_with_format_v2` — failed 100% on
    master/4.1/4.0, passes on 3.0
    
    `#57252` changed the FE default `inverted_index_storage_format` from
    `V2` to `V3`, but this test still created its table without pinning the
    property and asserted `check_nested_index_file(..., 2, 3, "V2")` with a
    hardcoded rowset count. Its sibling `*_format_v2` tests
    (`test_cumulative_compaction_with_format_v2`,
    `test_mow_table_with_format_v2`) were already migrated to a dynamic
    rowset count + `"V3"`; this one was missed.
    
    Fix: derive the post-compaction rowset count per tablet via
    `be_show_tablet_status` and assert `"V3"`, mirroring the sibling tests.
    
    ### 2. `test_curd_wlg` — flaky
    
    The `bypass_group` (`max_concurrency=0`) check expects `select count(1)
    from wlg_test_table` to be rejected with `query waiting queue is full`.
    That identical query is run repeatedly earlier in the suite, so it can
    be served from the FE SQL result cache, which returns before a
    Coordinator is built and never enters the query queue — so the rejection
    never fires and the assertion sees no exception (`but meet 'null'`).
    
    Fix: disable the SQL cache (`set enable_sql_cache=false`) around this
    assertion so the query actually executes and hits the queue, then
    restore it.
    
    ## Further comments
    
    Test-only changes. Cannot be verified locally (needs a deployed cluster
    with >= 2 BEs); please verify via CI.
---
 .../test_single_replica_compaction_with_format_v2.groovy           | 7 ++++++-
 regression-test/suites/workload_manager_p0/test_curd_wlg.groovy    | 5 +++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git 
a/regression-test/suites/inverted_index_p0/index_format_v2/test_single_replica_compaction_with_format_v2.groovy
 
b/regression-test/suites/inverted_index_p0/index_format_v2/test_single_replica_compaction_with_format_v2.groovy
index 2d267cf31b2..b0f87cd8bf6 100644
--- 
a/regression-test/suites/inverted_index_p0/index_format_v2/test_single_replica_compaction_with_format_v2.groovy
+++ 
b/regression-test/suites/inverted_index_p0/index_format_v2/test_single_replica_compaction_with_format_v2.groovy
@@ -183,7 +183,12 @@ suite("test_single_replica_compaction_with_format_v2", 
"inverted_index_format_v2
             backend_id = tablet.BackendId
             String ip = backendId_to_backendIP.get(backend_id)
             String port = backendId_to_backendHttpPort.get(backend_id)
-            check_nested_index_file(ip, port, tablet_id, 2, 3, "V2")
+            // The default inverted_index_storage_format changed from V2 to V3 
(#57252), and the
+            // post-compaction rowset count varies per replica, so derive it 
dynamically and check
+            // against V3 (mirrors test_cumulative_compaction_with_format_v2 / 
test_mow_table_with_format_v2).
+            def (tablet_status_code, tablet_status_out, tablet_status_err) = 
be_show_tablet_status(ip, port, tablet_id)
+            int activeRowsetCount = 
parseJson(tablet_status_out.trim()).rowsets.size()
+            check_nested_index_file(ip, port, tablet_id, activeRowsetCount, 3, 
"V3")
         }
 
         int segmentsCount = 0
diff --git a/regression-test/suites/workload_manager_p0/test_curd_wlg.groovy 
b/regression-test/suites/workload_manager_p0/test_curd_wlg.groovy
index c32c5676330..b560644975b 100644
--- a/regression-test/suites/workload_manager_p0/test_curd_wlg.groovy
+++ b/regression-test/suites/workload_manager_p0/test_curd_wlg.groovy
@@ -417,10 +417,15 @@ suite("test_crud_wlg") {
     // test bypass
     sql "create workload group if not exists bypass_group $forComputeGroupStr 
properties (  'max_concurrency'='0','max_queue_size'='0','queue_timeout'='0');"
     sql "set workload_group=bypass_group;"
+    // Disable the FE SQL cache here: `select count(1) from ${table_name}` is 
run repeatedly in this
+    // suite, so it can be served from the result cache and skip the 
Coordinator/query-queue path
+    // entirely, which makes this "queue is full" assertion flaky (the 
rejection never fires).
+    sql "set enable_sql_cache=false;"
     test {
         sql "select count(1) from ${table_name};"
         exception "query waiting queue is full"
     }
+    sql "set enable_sql_cache=true;"
 
     sql "set bypass_workload_group = true;"
     sql "select count(1) from information_schema.active_queries;"


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

Reply via email to