This is an automated email from the ASF dual-hosted git repository.
morrysnow 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 da6ac0c5f47 [test](mtmv) Fix regression test unstable (#40871)
da6ac0c5f47 is described below
commit da6ac0c5f472b707b1dba30f71d5a6d85b158545
Author: seawinde <[email protected]>
AuthorDate: Fri Sep 20 18:41:22 2024 +0800
[test](mtmv) Fix regression test unstable (#40871)
1. Optimized `waitForRollUpJob` method in `Suite.groovy` to make sure
roll up is build succesfully before rewirte.
2. Modify expect rewritten result in` agg_sync_mv.groovy`
---
.../org/apache/doris/regression/suite/Suite.groovy | 21 +++++++++------------
.../ddl_p0/test_create_table_like_nereids.groovy | 7 ++++---
.../suites/nereids_p0/hint/test_use_mv.groovy | 4 ++--
.../mv/aggregate/agg_sync_mv.groovy | 4 +++-
4 files changed, 18 insertions(+), 18 deletions(-)
diff --git
a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy
b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy
index ad14e23f94a..73b2cf9b5bc 100644
---
a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy
+++
b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy
@@ -1397,29 +1397,26 @@ class Suite implements GroovyInterceptable {
}
}
- def getMVJobState = { tableName, limit ->
- def jobStateResult = sql """ SHOW ALTER TABLE ROLLUP WHERE
TableName='${tableName}' ORDER BY CreateTime DESC limit ${limit}"""
- if (jobStateResult.size() != limit) {
+ def getMVJobState = { tableName, rollUpName ->
+ def jobStateResult = sql """ SHOW ALTER TABLE ROLLUP WHERE
TableName='${tableName}' and IndexName = '${rollUpName}' ORDER BY CreateTime
DESC limit 1"""
+ if (jobStateResult == null || jobStateResult.isEmpty()) {
logger.info("show alter table roll is empty" + jobStateResult)
return "NOT_READY"
}
- for (int i = 0; i < jobStateResult.size(); i++) {
- logger.info("getMVJobState is " + jobStateResult[i][8])
- if (!jobStateResult[i][8].equals("FINISHED")) {
- return "NOT_READY"
- }
+ logger.info("getMVJobState jobStateResult is " +
jobStateResult.toString())
+ if (!jobStateResult[0][8].equals("FINISHED")) {
+ return "NOT_READY"
}
return "FINISHED";
}
- def waitForRollUpJob = (tbName, timeoutMillisecond, limit) -> {
+ def waitForRollUpJob = (tbName, rollUpName, timeoutMillisecond) -> {
long startTime = System.currentTimeMillis()
long timeoutTimestamp = startTime + timeoutMillisecond
String result
- // time out or has run exceed 10 minute, then break
- while (timeoutTimestamp > System.currentTimeMillis() &&
System.currentTimeMillis() - startTime < 600000){
- result = getMVJobState(tbName, limit)
+ while (timeoutTimestamp > System.currentTimeMillis()){
+ result = getMVJobState(tbName, rollUpName)
if (result == "FINISHED") {
sleep(200)
return
diff --git
a/regression-test/suites/ddl_p0/test_create_table_like_nereids.groovy
b/regression-test/suites/ddl_p0/test_create_table_like_nereids.groovy
index e6ca0b696ff..a371f5ac051 100644
--- a/regression-test/suites/ddl_p0/test_create_table_like_nereids.groovy
+++ b/regression-test/suites/ddl_p0/test_create_table_like_nereids.groovy
@@ -46,7 +46,8 @@ suite("test_create_table_like_nereids") {
// with all rollup
sql "drop table if exists table_like_with_roll_up"
sql "CREATE TABLE table_like_with_roll_up LIKE mal_test_create_table_like
with rollup;"
- waitForRollUpJob("mal_test_create_table_like", 5000, 2)
+ waitForRollUpJob("mal_test_create_table_like", "r1", 60000)
+ waitForRollUpJob("mal_test_create_table_like", "r2", 60000)
explain {
sql ("select sum(a) from table_like_with_roll_up group by a")
contains "ru1"
@@ -59,7 +60,7 @@ suite("test_create_table_like_nereids") {
// with partial rollup
sql "drop table if exists table_like_with_partial_roll_up;"
sql "CREATE TABLE table_like_with_partial_roll_up LIKE
mal_test_create_table_like with rollup (ru1);"
- waitForRollUpJob("mal_test_create_table_like", 5000, 2)
+ waitForRollUpJob("mal_test_create_table_like", "r1", 60000)
sql "select * from table_like_with_partial_roll_up order by pk, a, b"
explain {
sql("select sum(a) from table_like_with_partial_roll_up group by a")
@@ -78,7 +79,7 @@ suite("test_create_table_like_nereids") {
sql "drop table if exists table_like_with_partial_roll_up_exists"
sql """CREATE TABLE if not exists table_like_with_partial_roll_up_exists
LIKE mal_test_create_table_like with rollup (ru1);"""
- waitForRollUpJob("mal_test_create_table_like", 5000, 2)
+ waitForRollUpJob("mal_test_create_table_like", "r1", 60000)
sql "drop table if exists test_create_table_like_char_255"
sql """
diff --git a/regression-test/suites/nereids_p0/hint/test_use_mv.groovy
b/regression-test/suites/nereids_p0/hint/test_use_mv.groovy
index c63705b9059..e8bf38a9066 100644
--- a/regression-test/suites/nereids_p0/hint/test_use_mv.groovy
+++ b/regression-test/suites/nereids_p0/hint/test_use_mv.groovy
@@ -53,9 +53,9 @@ suite("test_use_mv") {
);
"""
sql """ alter table t1 add rollup r1(k2, k1); """
- waitForRollUpJob("t1", 5000, 1)
+ waitForRollUpJob("t1", "r1", 15000)
sql """ alter table t1 add rollup r2(k2); """
- waitForRollUpJob("t1", 5000, 1)
+ waitForRollUpJob("t1", "r2", 15000)
createMV("create materialized view k1_k2_sumk3 as select k1, k2, sum(v1)
from t1 group by k1, k2;")
explain {
sql """select /*+ no_use_mv */ k1 from t1;"""
diff --git
a/regression-test/suites/nereids_syntax_p0/mv/aggregate/agg_sync_mv.groovy
b/regression-test/suites/nereids_syntax_p0/mv/aggregate/agg_sync_mv.groovy
index bb1b71e372f..e63037ced79 100644
--- a/regression-test/suites/nereids_syntax_p0/mv/aggregate/agg_sync_mv.groovy
+++ b/regression-test/suites/nereids_syntax_p0/mv/aggregate/agg_sync_mv.groovy
@@ -453,7 +453,9 @@ suite("agg_sync_mv") {
createMV("""create materialized view mv_sync48 as select id, var_pop(kint)
from agg_mv_test group by id order by id;""")
explain {
sql("select id, var_pop(kint) from agg_mv_test group by id order by
id;")
- contains "(mv_sync47)"
+ check { result ->
+ result.contains("(mv_sync47)") || result.contains("(mv_sync48)")
+ }
}
qt_select_var_pop_mv """select id, var_pop(kint) from agg_mv_test group by
id order by id;"""
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]