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

hello-stephen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 6b8d128b25e [regression-test](variant) remove unstable 
test_variant_arrayInvertedIdx_profile (#64608)
6b8d128b25e is described below

commit 6b8d128b25e3ef11bfd7a623f24192e8aa08ce05
Author: Dongyang Li <[email protected]>
AuthorDate: Tue Jun 30 14:33:41 2026 +0800

    [regression-test](variant) remove unstable 
test_variant_arrayInvertedIdx_profile (#64608)
    
    ## Proposed changes
    
    Remove
    
`regression-test/suites/variant_p0/with_index/test_array_inverted_index_profile.groovy`
    and its data file.
    
    This case has been tracked as a flaky/unstable case for a while. Per dev
    team's analysis and conclusion, the profile-fetching path this test
    depends on is unstable, and the relevant logic should be covered by unit
    tests going forward instead of this profile-dependent regression test.
---
 .../test_array_inverted_index_profile.out          |  45 ------
 .../test_array_inverted_index_profile.groovy       | 165 ---------------------
 2 files changed, 210 deletions(-)

diff --git 
a/regression-test/data/variant_p0/with_index/test_array_inverted_index_profile.out
 
b/regression-test/data/variant_p0/with_index/test_array_inverted_index_profile.out
deleted file mode 100644
index 5b2b843c252..00000000000
--- 
a/regression-test/data/variant_p0/with_index/test_array_inverted_index_profile.out
+++ /dev/null
@@ -1,45 +0,0 @@
--- This file is automatically generated. You should know what you did if you 
want to edit this
--- !sql1 --
-7
-
--- !sql2 --
-2019-01-01     d93d942d985a8fb7547c72dada8d332f        ["v", "w", "x", "y", 
"z"]
-
--- !sql3 --
-2017-01-01     d93d942d985a8fb7547c72dada8d332e        ["m", "n", "o", "p", 
"q", "r", "s", "t", "u"]
-
--- !sql4 --
-
--- !sql5 --
-2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
-2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
-2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
-2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        \N
-2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
-2017-01-01     d93d942d985a8fb7547c72dada8d332e        ["m", "n", "o", "p", 
"q", "r", "s", "t", "u"]
-
--- !sql6 --
-2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
-2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
-2019-01-01     d93d942d985a8fb7547c72dada8d332f        ["v", "w", "x", "y", 
"z"]
-
--- !sql7 --
-2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
-2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
-
--- !sql8 --
-2019-01-01     d93d942d985a8fb7547c72dada8d332f        ["v", "w", "x", "y", 
"z"]
-
--- !sql9 --
-2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
-2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
-2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
-2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        \N
-2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
-2017-01-01     d93d942d985a8fb7547c72dada8d332e        ["m", "n", "o", "p", 
"q", "r", "s", "t", "u"]
-2019-01-01     d93d942d985a8fb7547c72dada8d332f        ["v", "w", "x", "y", 
"z"]
-
--- !sql10 --
-2017-01-01     d93d942d985a8fb7547c72dada8d332e        ["m", "n", "o", "p", 
"q", "r", "s", "t", "u"]
-2019-01-01     d93d942d985a8fb7547c72dada8d332f        ["v", "w", "x", "y", 
"z"]
-
diff --git 
a/regression-test/suites/variant_p0/with_index/test_array_inverted_index_profile.groovy
 
b/regression-test/suites/variant_p0/with_index/test_array_inverted_index_profile.groovy
deleted file mode 100644
index 597f0906085..00000000000
--- 
a/regression-test/suites/variant_p0/with_index/test_array_inverted_index_profile.groovy
+++ /dev/null
@@ -1,165 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-import groovy.json.JsonSlurper
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-suite("test_variant_arrayInvertedIdx_profile", "p0,nonConcurrent"){
-    // prepare test table
-    def indexTblName = "var_arr_idx"
-    def httpGet = { url ->
-        def dst = 'http://' + context.config.feHttpAddress
-        def conn = new URL(dst + url).openConnection()
-        conn.setRequestMethod("GET")
-        def encoding = 
Base64.getEncoder().encodeToString((context.config.feHttpUser + ":" +
-                (context.config.feHttpPassword == null ? "" : 
context.config.feHttpPassword)).getBytes("UTF-8"))
-        conn.setRequestProperty("Authorization", "Basic ${encoding}")
-        return conn.getInputStream().getText()
-    }
-
-    def getProfileList = {
-        def dst = 'http://' + context.config.feHttpAddress
-        def conn = new URL(dst + "/rest/v1/query_profile").openConnection()
-        conn.setRequestMethod("GET")
-        def encoding = 
Base64.getEncoder().encodeToString((context.config.feHttpUser + ":" +
-                (context.config.feHttpPassword == null ? "" : 
context.config.feHttpPassword)).getBytes("UTF-8"))
-        conn.setRequestProperty("Authorization", "Basic ${encoding}")
-        return conn.getInputStream().getText()
-    }
-
-    def getProfile = { id ->
-            def dst = 'http://' + context.config.feHttpAddress
-            def conn = new URL(dst + 
"/api/profile/text/?query_id=$id").openConnection()
-            conn.setRequestMethod("GET")
-            def encoding = 
Base64.getEncoder().encodeToString((context.config.feHttpUser + ":" +
-                    (context.config.feHttpPassword == null ? "" : 
context.config.feHttpPassword)).getBytes("UTF-8"))
-            conn.setRequestProperty("Authorization", "Basic ${encoding}")
-            return conn.getInputStream().getText()
-    }
-
-    // Fetch profile text by token with small retries for robustness
-    def getProfileWithToken = { token ->
-        String profileId = ""
-        int attempts = 0
-        while (attempts < 10 && (profileId == null || profileId == "")) {
-            List profileData = new 
JsonSlurper().parseText(getProfileList()).data.rows
-            for (def profileItem in profileData) {
-                if (profileItem["Sql Statement"].toString().contains(token)) {
-                    profileId = profileItem["Profile ID"].toString()
-                    break
-                }
-            }
-            if (profileId == null || profileId == "") {
-                Thread.sleep(300)
-            }
-            attempts++
-        }
-        assertTrue(profileId != null && profileId != "")
-        // ensure profile text is fully ready
-        Thread.sleep(800)
-        return getProfile(profileId).toString()
-    }
-
-    // Pin enable_segment_limit_pushdown to keep inverted-index pushdown 
stable under fuzzy testing
-    sql """ set enable_segment_limit_pushdown = true; """
-    sql """ set enable_profile = true;"""
-    sql """ set profile_level = 2;"""
-    setFeConfigTemporary([enable_inverted_index_v1_for_variant: true]) {
-
-    sql "DROP TABLE IF EXISTS ${indexTblName}"
-    def storageFormat = new Random().nextBoolean() ? "V1" : "V2"
-    if (storageFormat == "V1" && isCloudMode()) {
-        return;
-    }
-    // create 1 replica table
-    sql """
-       CREATE TABLE IF NOT EXISTS `${indexTblName}` (
-      `apply_date` date NULL COMMENT '',
-      `id` varchar(60) NOT NULL COMMENT '',
-      `inventors` variant<'inventors' : array<text>> NULL COMMENT '',
-      INDEX index_inverted_inventors(inventors) USING INVERTED PROPERTIES( 
"field_pattern" = "inventors") COMMENT ''
-    ) ENGINE=OLAP
-    DUPLICATE KEY(`apply_date`, `id`)
-    COMMENT 'OLAP'
-    DISTRIBUTED BY HASH(`id`) BUCKETS 1
-    PROPERTIES (
-    "replication_allocation" = "tag.location.default: 1",
-    "is_being_synced" = "false",
-    "storage_format" = "V2",
-    "light_schema_change" = "true",
-    "disable_auto_compaction" = "false",
-    "inverted_index_storage_format" = "$storageFormat"
-    );
-    """
-
-        sql """ INSERT INTO `var_arr_idx` (`apply_date`, `id`, `inventors`) 
VALUES
-            ('2017-01-01', '6afef581285b6608bf80d5a4e46cf839', 
'{"inventors":["a", "b", "c"]}'),
-            ('2017-01-01', '8fcb57ae675f0af4d613d9e6c0e8a2a3', 
'{"inventors":[]}'),
-            ('2017-01-01', 'd93d942d985a8fb7547c72dada8d332d', '{"inventors": 
["d", "e", "f", "g", "h", "i", "j", "k", "l"]}'),
-            ('2017-01-01', '8fcb57ae675f0af4d613d9e6c0e8a2a4', NULL),
-            ('2017-01-01', 'd93d942d985a8fb7547c72dada8d332e', '{"inventors": 
["m", "n", "o", "p", "q", "r", "s", "t", "u"]}'),
-            ('2017-01-01', '8fcb57ae675f0af4d613d9e6c0e8a2a6', '{"inventors": 
[null,null,null]}'),
-            ('2019-01-01', 'd93d942d985a8fb7547c72dada8d332f', '{"inventors": 
["v", "w", "x", "y", "z"]}'); """
-
-
-        qt_sql1 """ select count() from ${indexTblName}"""
-        def checkpoints_name = "array_func.array_contains"
-        try {
-            GetDebugPoint().enableDebugPointForAllBEs(checkpoints_name, 
[result_bitmap: 1])
-            order_qt_sql2 "select apply_date,id, inventors['inventors'] from 
var_arr_idx where array_contains(cast(inventors['inventors'] as array<text>), 
'w') order by id;"
-        } finally {
-            GetDebugPoint().disableDebugPointForAllBEs(checkpoints_name)
-        }
-
-        int randomInt = new Random().nextInt(10)
-
-        if (randomInt % 2) {
-            def t1 = UUID.randomUUID().toString()
-            sql """
-                select apply_date,id, "${t1}", inventors['inventors'] from 
var_arr_idx where array_contains(cast(inventors['inventors'] as array<text>), 
'w') order by id
-            """
-            def p1 = getProfileWithToken(t1)
-            logger.info("p1: {}", p1)
-            assertTrue(p1.contains("RowsInvertedIndexFiltered: 6"))
-        } else {
-            def t2 = UUID.randomUUID().toString()
-            sql """
-                select apply_date,id, "${t2}", inventors['inventors'] from 
var_arr_idx where array_contains(cast(inventors['inventors'] as array<text>), 
's') and apply_date = '2017-01-01' order by id
-            """
-            def p2 = getProfileWithToken(t2)
-            logger.info("p2: {}", p2)
-            assertTrue(p2.contains("RowsInvertedIndexFiltered: 5"))
-        }
-
-        try {
-            GetDebugPoint().enableDebugPointForAllBEs(checkpoints_name, 
[result_bitmap: 1])
-            order_qt_sql3 """ select apply_date,id, inventors['inventors'] 
from var_arr_idx where array_contains(cast(inventors['inventors'] as 
array<text>), 's') and apply_date = '2017-01-01' order by id; """
-        } finally {
-            GetDebugPoint().disableDebugPointForAllBEs(checkpoints_name)
-        }
-        // and apply_date will be vectorized filter left is 6 rows for 
inverted index
-        order_qt_sql4 """ select apply_date,id, inventors['inventors'] from 
var_arr_idx where array_contains(cast(inventors['inventors'] as array<text>), 
's') and apply_date = '2019-01-01' order by id; """
-
-        order_qt_sql5 """ select apply_date,id, inventors['inventors'] from 
var_arr_idx where array_contains(cast(inventors['inventors'] as array<text>), 
's') or apply_date = '2017-01-01' order by id; """
-        order_qt_sql6 """ select apply_date,id, inventors['inventors'] from 
var_arr_idx where !array_contains(cast(inventors['inventors'] as array<text>), 
's') order by id; """
-        order_qt_sql7 """ select apply_date,id, inventors['inventors'] from 
var_arr_idx where !array_contains(cast(inventors['inventors'] as array<text>), 
's') and apply_date = '2017-01-01' order by id; """
-        order_qt_sql8 """ select apply_date,id, inventors['inventors'] from 
var_arr_idx where !array_contains(cast(inventors['inventors'] as array<text>), 
's') and apply_date = '2019-01-01' order by id; """
-        order_qt_sql9 """ select apply_date,id, inventors['inventors'] from 
var_arr_idx where !array_contains(cast(inventors['inventors'] as array<text>), 
's') or apply_date = '2017-01-01' order by id; """
-        order_qt_sql10 """ select apply_date,id, inventors['inventors'] from 
var_arr_idx where (array_contains(cast(inventors['inventors'] as array<text>), 
's') and apply_date = '2017-01-01') or apply_date = '2019-01-01' order by id; 
"""
-    }
-}


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

Reply via email to