This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new 44ae865642d [chore](regression-test) Remove some flaky profile test.
#42396 (#44668)
44ae865642d is described below
commit 44ae865642df3b3feb8da7e9bca4ba16fe7188ff
Author: zhiqiang <[email protected]>
AuthorDate: Wed Nov 27 22:47:00 2024 +0800
[chore](regression-test) Remove some flaky profile test. #42396 (#44668)
cherry pick from #42396
---
.../suites/query_profile/scanner_profile.groovy | 104 ---------------------
.../query_profile/test_execute_by_frontend.groovy | 90 ------------------
2 files changed, 194 deletions(-)
diff --git a/regression-test/suites/query_profile/scanner_profile.groovy
b/regression-test/suites/query_profile/scanner_profile.groovy
deleted file mode 100644
index 38216d211e6..00000000000
--- a/regression-test/suites/query_profile/scanner_profile.groovy
+++ /dev/null
@@ -1,104 +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.JsonOutput
-import groovy.json.JsonSlurper
-import groovy.json.StringEscapeUtils
-
-
-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()
-}
-
-suite('scanner_profile') {
- sql """
- DROP TABLE IF EXISTS scanner_profile;
- """
- sql """
- CREATE TABLE if not exists `scanner_profile` (
- `id` INT,
- `name` varchar(32)
- ) ENGINE=OLAP
- DISTRIBUTED BY HASH(`id`) BUCKETS 10
- PROPERTIES (
- "replication_allocation" = "tag.location.default: 1"
- );
- """
-
- // Insert data to table
- sql """
- insert into scanner_profile values
- (1, "A"),(2, "B"),(3, "C"),(4,
"D"),(5,"E"),(6,"F"),(7,"G"),(8,"H"),(9,"K");
- """
- sql """
- insert into scanner_profile values
- (10, "A"),(20, "B"),(30, "C"),(40,
"D"),(50,"E"),(60,"F"),(70,"G"),(80,"H"),(90,"K");
- """
- sql """
- insert into scanner_profile values
- (101, "A"),(201, "B"),(301, "C"),(401,
"D"),(501,"E"),(601,"F"),(701,"G"),(801,"H"),(901,"K");
- """
- sql """
- insert into scanner_profile values
- (1010, "A"),(2010, "B"),(3010, "C"),(4010,
"D"),(5010,"E"),(6010,"F"),(7010,"G"),(8010,"H"),(9010,"K");
- """
-
- def uuidString = UUID.randomUUID().toString()
- sql "set enable_profile=true"
- // With Limit, MaxScannerThreadNum = 1
- sql """
- select "with_limit_1_${uuidString}", * from scanner_profile limit 10;
- """
-
- def wholeString = getProfileList()
- List profileData = new JsonSlurper().parseText(wholeString).data.rows
- String queryIdWithLimit1 = "";
-
-
- logger.info("{}", uuidString)
-
- for (def profileItem in profileData) {
- if (profileItem["Sql
Statement"].toString().contains("with_limit_1_${uuidString}")) {
- queryIdWithLimit1 = profileItem["Profile ID"].toString()
- logger.info("profileItem: {}", profileItem)
- }
- }
-
- logger.info("queryIdWithLimit1_${uuidString}: {}", queryIdWithLimit1)
-
- assertTrue(queryIdWithLimit1 != "")
- def String profileWithLimit1 = getProfile(queryIdWithLimit1).toString()
- logger.info("query profile {}", profileWithLimit1)
- assertTrue(profileWithLimit1.contains("- PeakRunningScanner: 1"))
-}
\ No newline at end of file
diff --git
a/regression-test/suites/query_profile/test_execute_by_frontend.groovy
b/regression-test/suites/query_profile/test_execute_by_frontend.groovy
deleted file mode 100644
index 40435e02d99..00000000000
--- a/regression-test/suites/query_profile/test_execute_by_frontend.groovy
+++ /dev/null
@@ -1,90 +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.JsonOutput
-import groovy.json.JsonSlurper
-import groovy.json.StringEscapeUtils
-
-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}")
- // set conn parameters
-
- return conn.getInputStream().getText()
- }
-
-suite('test_execute_by_frontend') {
- sql """
- CREATE TABLE if not exists `test_execute_by_frontend` (
- `id` INT,
- `name` varchar(32)
- )ENGINE=OLAP
- UNIQUE KEY(`id`)
- DISTRIBUTED BY HASH(`id`) BUCKETS 1
- PROPERTIES (
- "replication_allocation" = "tag.location.default: 1"
- );
- """
-
- sql "set enable_profile=true"
- def simpleSql1 = "select * from test_execute_by_frontend"
- sql "${simpleSql1}"
- simpleSql2 = """select cast("1" as Int)"""
- sql "${simpleSql2}"
- def isRecorded = false
- def wholeString = getProfileList()
- List profileData = new JsonSlurper().parseText(wholeString).data.rows
- String queryId1 = "";
- String queryId2 = "";
-
- for (final def profileItem in profileData) {
- if (profileItem["Sql Statement"].toString() == simpleSql1) {
- isRecorded = true
- queryId1 = profileItem["Profile ID"].toString()
- assertEquals("internal", profileItem["Default Catalog"].toString())
- }
- if (profileItem["Sql Statement"].toString() == simpleSql2) {
- queryId2 = profileItem["Profile ID"].toString()
- }
- }
-
- assertTrue(isRecorded)
-
- String profileContent1 = getProfile(queryId1)
- def executionProfileIdx1 = profileContent1.indexOf("Executed By Frontend:
true")
- assertTrue(executionProfileIdx1 > 0)
- String profileContent2 = getProfile(queryId2)
- def executionProfileIdx2 = profileContent2.indexOf("Executed By Frontend:
true")
- assertTrue(executionProfileIdx2 > 0)
-
- sql """ SET enable_profile = false """
- sql """ DROP TABLE IF EXISTS test_execute_by_frontend """
-}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]