This is an automated email from the ASF dual-hosted git repository.
airborne 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 01c19648979 [Test](count on index) add statistics check for unique
table #42982 (#43021)
01c19648979 is described below
commit 01c1964897922565931926072d2872f4007c0716
Author: airborne12 <[email protected]>
AuthorDate: Thu Oct 31 21:12:37 2024 +0800
[Test](count on index) add statistics check for unique table #42982 (#43021)
cherry pick from #42982
---
.../inverted_index_p0/test_count_on_index.groovy | 48 +++++++++++++---------
1 file changed, 28 insertions(+), 20 deletions(-)
diff --git
a/regression-test/suites/inverted_index_p0/test_count_on_index.groovy
b/regression-test/suites/inverted_index_p0/test_count_on_index.groovy
index c0e7e6845d2..89d1e8f93b2 100644
--- a/regression-test/suites/inverted_index_p0/test_count_on_index.groovy
+++ b/regression-test/suites/inverted_index_p0/test_count_on_index.groovy
@@ -146,30 +146,38 @@ suite("test_count_on_index_httplogs", "p0") {
sql """set enable_fallback_to_original_planner=false;"""
sql """analyze table ${testTable_dup} with sync""";
// case1: test duplicate table
- def maxRetries = 3
- def attempt = 0
- def success = false
+ def executeSqlWithRetry = { String sqlQuery, int maxRetries = 3, int
waitSeconds = 1 ->
+ def attempt = 0
+ def success = false
- while (attempt < maxRetries && !success) {
- try {
- explain {
- sleep(10000)
- sql("select COUNT() from ${testTable_dup}")
- notContains("cardinality=0")
- }
- success = true
- } catch (Exception e) {
- attempt++
- log.error("Attempt ${attempt} failed: ${e.message}")
- if (attempt < maxRetries) {
- log.info("Retrying... (${attempt + 1}/${maxRetries})")
- sleep(1000)
- } else {
- log.error("All ${maxRetries} attempts failed.")
- throw e
+ while (attempt < maxRetries && !success) {
+ try {
+ explain {
+ // Wait for BE to report every partition's row count
+ sleep(10000)
+ sql(sqlQuery)
+ notContains("cardinality=0")
+ }
+ success = true
+ } catch (Exception e) {
+ attempt++
+ log.error("Attempt ${attempt} failed: ${e.message}")
+ if (attempt < maxRetries) {
+ log.info("Retrying... (${attempt + 1}/${maxRetries})
after ${waitSeconds} second(s).")
+ sleep(waitSeconds * 1000)
+ } else {
+ log.error("All ${maxRetries} attempts failed.")
+ throw e
+ }
}
}
}
+ // make sure row count stats is not 0 for duplicate table
+ executeSqlWithRetry("SELECT COUNT() FROM ${testTable_dup}")
+ // make sure row count stats is not 0 for unique table
+ sql """analyze table ${testTable_unique} with sync""";
+ executeSqlWithRetry("SELECT COUNT() FROM ${testTable_unique}")
+
explain {
sql("select COUNT() from ${testTable_dup} where request match
'GET'")
contains "pushAggOp=COUNT_ON_INDEX"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]