Fix unstable analyze mv case. (#30859)

This commit is contained in:
Jibing-Li
2024-02-05 21:12:54 +08:00
committed by yiguolei
parent 501ece3123
commit e9f9fdf9af
2 changed files with 43 additions and 9 deletions

View File

@ -17,6 +17,23 @@
suite("test_analyze_mv") {
def wait_mv_finish = { db ->
while(true) {
Thread.sleep(1000)
boolean finished = true;
def result = sql """SHOW ALTER TABLE MATERIALIZED VIEW FROM ${db};"""
for (int i = 0; i < result.size(); i++) {
if (result[i][8] != 'FINISHED') {
finished = false;
break;
}
}
if (finished) {
break;
}
}
}
sql """drop database if exists test_analyze_mv"""
sql """create database test_analyze_mv"""
sql """use test_analyze_mv"""
@ -36,11 +53,11 @@ suite("test_analyze_mv") {
)
"""
sql """create materialized view mv1 as select key1 from mvTestDup;"""
Thread.sleep(1500)
wait_mv_finish("test_analyze_mv")
sql """create materialized view mv2 as select key2 from mvTestDup;"""
Thread.sleep(1500)
wait_mv_finish("test_analyze_mv")
sql """create materialized view mv3 as select key1, key2, sum(value1), max(value2), min(value3) from mvTestDup group by key1, key2;"""
Thread.sleep(1500)
wait_mv_finish("test_analyze_mv")
sql """insert into mvTestDup values (1, 2, 3, 4, 5), (1, 2, 3, 4, 5), (10, 20, 30, 40, 50), (10, 20, 30, 40, 50), (100, 200, 300, 400, 500), (1001, 2001, 3001, 4001, 5001);"""
sql """analyze table mvTestDup with sync;"""
@ -130,11 +147,11 @@ suite("test_analyze_mv") {
"""
sql """create materialized view mv1 as select key2 from mvTestAgg;"""
Thread.sleep(1500)
wait_mv_finish("test_analyze_mv")
sql """create materialized view mv3 as select key1, key2, sum(value1), max(value2), min(value3) from mvTestAgg group by key1, key2;"""
Thread.sleep(1500)
wait_mv_finish("test_analyze_mv")
sql """create materialized view mv6 as select key1, sum(value1) from mvTestAgg group by key1;"""
Thread.sleep(1500)
wait_mv_finish("test_analyze_mv")
sql """insert into mvTestAgg values (1, 2, 3, 4, 5), (1, 2, 3, 4, 5), (1, 11, 22, 33, 44), (10, 20, 30, 40, 50), (10, 20, 30, 40, 50), (100, 200, 300, 400, 500), (1001, 2001, 3001, 4001, 5001);"""
sql """analyze table mvTestAgg with sync;"""
@ -210,9 +227,9 @@ suite("test_analyze_mv") {
"""
sql """create materialized view mv1 as select key1 from mvTestUni;"""
Thread.sleep(1000)
wait_mv_finish("test_analyze_mv")
sql """create materialized view mv6 as select key2, value2, value3 from mvTestUni;"""
Thread.sleep(1000)
wait_mv_finish("test_analyze_mv")
sql """insert into mvTestUni values (1, 2, 3, 4, 5), (1, 2, 3, 7, 8), (1, 11, 22, 33, 44), (10, 20, 30, 40, 50), (10, 20, 30, 40, 50), (100, 200, 300, 400, 500), (1001, 2001, 3001, 4001, 5001);"""
sql """analyze table mvTestUni with sync;"""

View File

@ -17,6 +17,23 @@
suite("test_select_mv") {
def wait_mv_finish = { db ->
while(true) {
Thread.sleep(1000)
boolean finished = true;
def result = sql """SHOW ALTER TABLE MATERIALIZED VIEW FROM ${db};"""
for (int i = 0; i < result.size(); i++) {
if (result[i][8] != 'FINISHED') {
finished = false;
break;
}
}
if (finished) {
break;
}
}
}
def dup_sql1 = """select count(*) from test_dup;"""
def dup_sql2 = """select mv_key2 from test_dup index dup1 order by mv_key2;"""
def dup_sql3 = """select count(mv_key2) from test_dup index dup1;"""
@ -69,7 +86,7 @@ suite("test_select_mv") {
sql """
create materialized view agg1 as select key2, sum(value) from test_agg group by key2;
"""
Thread.sleep(1000)
wait_mv_finish("test_select_mv")
sql """insert into test_dup values (1, 1, 1), (2, 2, 2)"""
sql """insert into test_dup values (1, 1, 1), (2, 2, 2)"""