Skip to content

Commit d8923d0

Browse files
seawindeYour Name
authored andcommitted
[fix](mtmv) Fix sync materialized view use wrong check method when in the same regression test database (#58245)
The validation method for creating a synchronous materialized view uses the sleep method. If there are multiple synchronous materialized views in a database, this method is prone to failure. Modified to use `create_sync_mv`.
1 parent 99dc707 commit d8923d0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+151
-158
lines changed

regression-test/suites/nereids_syntax_p0/advance_mv.groovy

Lines changed: 8 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,9 @@ suite("advance_mv") {
2121
def tbName2 = "test_advance_mv_dup_table"
2222
def tbName3 = "schema_change_dup_mv_regression_test"
2323

24-
def getJobState = { tableName ->
25-
def jobStateResult = sql """ SHOW ALTER TABLE MATERIALIZED VIEW WHERE TableName='${tableName}' ORDER BY CreateTime DESC LIMIT 1; """
26-
return jobStateResult[0][8]
27-
}
24+
String db = context.config.getDbNameByFile(context.file)
25+
sql "use ${db}"
26+
2827
sql "DROP TABLE IF EXISTS ${tbName1} FORCE"
2928
sql """
3029
CREATE TABLE IF NOT EXISTS ${tbName1}(
@@ -93,7 +92,7 @@ suite("advance_mv") {
9392
sql "analyze table ${tbName3} with sync;"
9493
sql """set enable_stats=false;"""
9594

96-
createMV("CREATE materialized VIEW mv1 AS SELECT k1 as a1, sum(v2) as a2 FROM ${tbName1} GROUP BY k1;")
95+
create_sync_mv(db, tbName1, "mv1", "SELECT k1 as a1, sum(v2) as a2 FROM ${tbName1} GROUP BY k1;")
9796

9897
explain {
9998
sql("select k1, sum(v2) from ${tbName1} group by k1 order by k1;")
@@ -107,7 +106,7 @@ suite("advance_mv") {
107106
}
108107
order_qt_select_star "select k1 from ${tbName1} order by k1;"
109108

110-
createMV("CREATE materialized VIEW mv2 AS SELECT abs(k1)+k2+1 as a4, sum(abs(k2+2)+k3+3) as a3 FROM ${tbName2} GROUP BY a4;")
109+
create_sync_mv(db, tbName2, "mv2", "SELECT abs(k1)+k2+1 as a4, sum(abs(k2+2)+k3+3) as a3 FROM ${tbName2} GROUP BY a4;")
111110

112111
explain {
113112
sql("SELECT abs(k1)+k2+1 tmp, sum(abs(k2+2)+k3+3) FROM ${tbName2} GROUP BY tmp;")
@@ -120,22 +119,8 @@ suite("advance_mv") {
120119
}
121120
order_qt_select_star "SELECT abs(k1)+k2+1 tmp, sum(abs(k2+2)+k3+3) FROM ${tbName2} GROUP BY tmp;"
122121

123-
sql "CREATE materialized VIEW mv3 AS SELECT abs(k1)+k2+1 as a5, abs(k2+2)+k3+3 as a6 FROM ${tbName2};"
124-
int max_try_secs2 = 60
125-
while (max_try_secs2--) {
126-
String res = getJobState(tbName2)
127-
if (res == "FINISHED" || res == "CANCELLED") {
128-
assertEquals("FINISHED", res)
129-
sleep(3000)
130-
break
131-
} else {
132-
Thread.sleep(2000)
133-
if (max_try_secs2 < 1) {
134-
println "test timeout," + "state:" + res
135-
assertEquals("FINISHED",res)
136-
}
137-
}
138-
}
122+
create_sync_mv(db, tbName2, "mv3", "SELECT abs(k1)+k2+1 as a5, abs(k2+2)+k3+3 as a6 FROM ${tbName2};")
123+
139124
explain {
140125
sql("SELECT abs(k1)+k2+1 tmp, abs(k2+2)+k3+3 FROM ${tbName2};")
141126
contains "(mv3)"
@@ -148,23 +133,8 @@ suite("advance_mv") {
148133
contains "(mv3)"
149134
}
150135

136+
create_sync_mv(db, tbName3, "mv4", "select date as b1, user_id as b2, city as b3, sum(age) from ${tbName3} group by date, user_id, city;")
151137

152-
sql "create materialized view mv4 as select date as b1, user_id as b2, city as b3, sum(age) from ${tbName3} group by date, user_id, city;"
153-
int max_try_secs3 = 60
154-
while (max_try_secs3--) {
155-
String res = getJobState(tbName3)
156-
if (res == "FINISHED" || res == "CANCELLED") {
157-
assertEquals("FINISHED", res)
158-
sleep(3000)
159-
break
160-
} else {
161-
Thread.sleep(2000)
162-
if (max_try_secs2 < 1) {
163-
println "test timeout," + "state:" + res
164-
assertEquals("FINISHED",res)
165-
}
166-
}
167-
}
168138
explain {
169139
sql("select sum(age) from ${tbName3};")
170140
contains "(mv4)"

regression-test/suites/nereids_syntax_p0/mv/newMv/aggHaveDupBase.groovy

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,12 @@ import org.codehaus.groovy.runtime.IOGroovyMethods
1919

2020
suite ("aggHaveDupBase") {
2121

22+
String db = context.config.getDbNameByFile(context.file)
23+
sql "use ${db}"
2224
// this mv rewrite would not be rewritten in RBO, so set NOT_IN_RBO explicitly
2325
sql "set pre_materialized_view_rewrite_strategy = NOT_IN_RBO"
2426

2527
def tbName1 = "agg_have_dup_base"
26-
def getJobState = { tableName ->
27-
def jobStateResult = sql """ SHOW ALTER TABLE MATERIALIZED VIEW WHERE TableName='${tableName}' ORDER BY CreateTime DESC LIMIT 1; """
28-
return jobStateResult[0][8]
29-
}
3028
sql """ DROP TABLE IF EXISTS agg_have_dup_base; """
3129
sql """
3230
create table agg_have_dup_base(
@@ -46,8 +44,7 @@ suite ("aggHaveDupBase") {
4644
sql "insert into agg_have_dup_base select 3,-3,null,'c';"
4745
sql "insert into agg_have_dup_base select 3,-3,null,'c';"
4846

49-
createMV( "create materialized view k12s3m as select k1 as a1,sum(k2),max(k2) from agg_have_dup_base group by k1;")
50-
47+
create_sync_mv(db, "agg_have_dup_base", "k12s3m", "select k1 as a1,sum(k2),max(k2) from agg_have_dup_base group by k1;")
5148

5249
sql "insert into agg_have_dup_base select -4,-4,-4,'d';"
5350

regression-test/suites/nereids_syntax_p0/mv/newMv/case_ignore.groovy

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
import org.codehaus.groovy.runtime.IOGroovyMethods
1919

2020
suite ("case_ignore") {
21+
22+
String db = context.config.getDbNameByFile(context.file)
23+
sql "use ${db}"
2124
// this mv rewrite would not be rewritten in RBO, so set NOT_IN_RBO explicitly
2225
sql "set pre_materialized_view_rewrite_strategy = NOT_IN_RBO"
2326
sql """ DROP TABLE IF EXISTS case_ignore; """
@@ -38,9 +41,7 @@ suite ("case_ignore") {
3841
sql "insert into case_ignore select 2,2,2,'b';"
3942
sql "insert into case_ignore select 3,-3,null,'c';"
4043

41-
42-
createMV ("create materialized view k12a as select K1 as a1,abs(K2) from case_ignore;")
43-
sleep(3000)
44+
create_sync_mv(db, "case_ignore", "k12a", "select K1 as a1,abs(K2) from case_ignore;")
4445

4546
sql "insert into case_ignore select -4,-4,-4,'d';"
4647
sql "SET experimental_enable_nereids_planner=true"

regression-test/suites/nereids_syntax_p0/mv/newMv/dup_gb_mv_abs.groovy

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import org.codehaus.groovy.runtime.IOGroovyMethods
1919

2020
suite ("dup_gb_mv_abs") {
21+
String db = context.config.getDbNameByFile(context.file)
22+
sql "use ${db}"
2123
// this mv rewrite would not be rewritten in RBO, so set NOT_IN_RBO explicitly
2224
sql "set pre_materialized_view_rewrite_strategy = NOT_IN_RBO"
2325
sql """ DROP TABLE IF EXISTS dup_gb_mv_abs; """
@@ -38,8 +40,7 @@ suite ("dup_gb_mv_abs") {
3840
sql "insert into dup_gb_mv_abs select 2,2,2,'b';"
3941
sql "insert into dup_gb_mv_abs select 3,-3,null,'c';"
4042

41-
createMV ("create materialized view k12sa as select k1 as a1,sum(abs(k2)) from dup_gb_mv_abs group by k1;")
42-
sleep(3000)
43+
create_sync_mv(db, "dup_gb_mv_abs", "k12sa", "select k1 as a1,sum(abs(k2)) from dup_gb_mv_abs group by k1;")
4344

4445
sql "insert into dup_gb_mv_abs select -4,-4,-4,'d';"
4546

regression-test/suites/nereids_syntax_p0/mv/newMv/dup_gb_mv_plus.groovy

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
import org.codehaus.groovy.runtime.IOGroovyMethods
1919

2020
suite ("dup_gb_mv_plus") {
21+
22+
String db = context.config.getDbNameByFile(context.file)
23+
sql "use ${db}"
2124
// this mv rewrite would not be rewritten in RBO, so set NOT_IN_RBO explicitly
2225
sql "set pre_materialized_view_rewrite_strategy = NOT_IN_RBO"
2326
sql """ DROP TABLE IF EXISTS dup_gb_mv_plus; """
@@ -38,8 +41,7 @@ suite ("dup_gb_mv_plus") {
3841
sql "insert into dup_gb_mv_plus select 2,2,2,'b';"
3942
sql "insert into dup_gb_mv_plus select 3,-3,null,'c';"
4043

41-
createMV( "create materialized view k12sp as select k1 as a1,sum(k2+1) from dup_gb_mv_plus group by k1;")
42-
sleep(3000)
44+
create_sync_mv(db, "dup_gb_mv_plus", "k12sp", "select k1 as a1,sum(k2+1) from dup_gb_mv_plus group by k1;")
4345

4446
sql "insert into dup_gb_mv_plus select -4,-4,-4,'d';"
4547

regression-test/suites/nereids_syntax_p0/mv/newMv/dup_mv_abs.groovy

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import org.codehaus.groovy.runtime.IOGroovyMethods
1919

2020
suite ("dup_mv_abs") {
21+
String db = context.config.getDbNameByFile(context.file)
22+
sql "use ${db}"
2123
// this mv rewrite would not be rewritten in RBO, so set NOT_IN_RBO explicitly
2224
sql "set pre_materialized_view_rewrite_strategy = NOT_IN_RBO"
2325
sql """ DROP TABLE IF EXISTS dup_mv_abs; """
@@ -37,8 +39,7 @@ suite ("dup_mv_abs") {
3739
sql "insert into dup_mv_abs select 2,2,2,'b';"
3840
sql "insert into dup_mv_abs select 3,-3,null,'c';"
3941

40-
createMV ("create materialized view k12a as select k1 as a1,abs(k2) from dup_mv_abs;")
41-
sleep(3000)
42+
create_sync_mv(db, "dup_mv_abs", "k12a", "select k1 as a1,abs(k2) from dup_mv_abs;")
4243

4344
sql "insert into dup_mv_abs select -4,-4,-4,'d';"
4445

regression-test/suites/nereids_syntax_p0/mv/newMv/dup_mv_bin.groovy

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import org.codehaus.groovy.runtime.IOGroovyMethods
1919

2020
suite ("dup_mv_bin") {
21+
String db = context.config.getDbNameByFile(context.file)
22+
sql "use ${db}"
2123
// this mv rewrite would not be rewritten in RBO, so set NOT_IN_RBO explicitly
2224
sql "set pre_materialized_view_rewrite_strategy = NOT_IN_RBO"
2325
sql """ DROP TABLE IF EXISTS dup_mv_bin; """
@@ -38,8 +40,7 @@ suite ("dup_mv_bin") {
3840
sql "insert into dup_mv_bin select 2,2,2,'b';"
3941
sql "insert into dup_mv_bin select 3,-3,null,'c';"
4042

41-
createMV( "create materialized view k12b as select k1 as a1,bin(k2) from dup_mv_bin;")
42-
sleep(3000)
43+
create_sync_mv(db, "dup_mv_bin", "k12b", "select k1 as a1,bin(k2) from dup_mv_bin;")
4344

4445
sql "insert into dup_mv_bin select -4,-4,-4,'d';"
4546

regression-test/suites/nereids_syntax_p0/mv/newMv/dup_mv_bm_hash.groovy

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
// under the License.
1717

1818
suite ("dup_mv_bm_hash") {
19+
String db = context.config.getDbNameByFile(context.file)
20+
sql "use ${db}"
1921
// this mv rewrite would not be rewritten in RBO, so set NOT_IN_RBO explicitly
2022
sql "set pre_materialized_view_rewrite_strategy = NOT_IN_RBO"
2123
sql """ DROP TABLE IF EXISTS dup_mv_bm_hash; """
@@ -35,7 +37,7 @@ suite ("dup_mv_bm_hash") {
3537
sql "insert into dup_mv_bm_hash select 2,2,'b';"
3638
sql "insert into dup_mv_bm_hash select 3,3,'c';"
3739

38-
createMV( "create materialized view dup_mv_bm_hash_mv1 as select k1 as a1,bitmap_union(to_bitmap(k2)) as a2 from dup_mv_bm_hash group by k1;")
40+
create_sync_mv(db, "dup_mv_bm_hash", "dup_mv_bm_hash_mv1", "select k1 as a1,bitmap_union(to_bitmap(k2)) as a2 from dup_mv_bm_hash group by k1;")
3941

4042
sql "SET experimental_enable_nereids_planner=true"
4143
sql "SET enable_fallback_to_original_planner=false"
@@ -51,7 +53,7 @@ suite ("dup_mv_bm_hash") {
5153
sql """set enable_stats=true;"""
5254
mv_rewrite_success("select bitmap_union_count(to_bitmap(k2)) from dup_mv_bm_hash group by k1 order by k1;", "dup_mv_bm_hash_mv1")
5355

54-
createMV("create materialized view dup_mv_bm_hash_mv2 as select k1 as a3,bitmap_union(bitmap_hash(k3)) as a4 from dup_mv_bm_hash group by k1;")
56+
create_sync_mv(db, "dup_mv_bm_hash", "dup_mv_bm_hash_mv2", "select k1 as a3,bitmap_union(bitmap_hash(k3)) as a4 from dup_mv_bm_hash group by k1;")
5557

5658
sql "insert into dup_mv_bm_hash select 2,2,'bb';"
5759
sql "insert into dup_mv_bm_hash select 3,3,'c';"

regression-test/suites/nereids_syntax_p0/mv/newMv/dup_mv_plus.groovy

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import org.codehaus.groovy.runtime.IOGroovyMethods
1919

2020
suite ("dup_mv_plus") {
21+
String db = context.config.getDbNameByFile(context.file)
22+
sql "use ${db}"
2123
// this mv rewrite would not be rewritten in RBO, so set NOT_IN_RBO explicitly
2224
sql "set pre_materialized_view_rewrite_strategy = NOT_IN_RBO"
2325
sql """ DROP TABLE IF EXISTS dup_mv_plus; """
@@ -38,8 +40,7 @@ suite ("dup_mv_plus") {
3840
sql "insert into dup_mv_plus select 2,2,2,'b';"
3941
sql "insert into dup_mv_plus select 3,-3,null,'c';"
4042

41-
createMV ("create materialized view k12p as select k1 as a1,k2+1 from dup_mv_plus;")
42-
sleep(3000)
43+
create_sync_mv(db, "dup_mv_plus", "k12p", "select k1 as a1,k2+1 from dup_mv_plus;")
4344

4445
sql "insert into dup_mv_plus select -4,-4,-4,'d';"
4546
sql "SET experimental_enable_nereids_planner=true"

regression-test/suites/nereids_syntax_p0/mv/newMv/dup_mv_year.groovy

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
// under the License.
1717

1818
suite ("dup_mv_year") {
19+
String db = context.config.getDbNameByFile(context.file)
20+
sql "use ${db}"
1921
// this mv rewrite would not be rewritten in RBO, so set NOT_IN_RBO explicitly
2022
sql "set pre_materialized_view_rewrite_strategy = NOT_IN_RBO"
2123
sql """ DROP TABLE IF EXISTS dup_mv_year; """
@@ -51,7 +53,7 @@ suite ("dup_mv_year") {
5153
sql """set enable_stats=true;"""
5254
mv_rewrite_success("select k1,year(k2) from dup_mv_year order by k1;", "k12y")
5355

54-
createMV "create materialized view k13y as select k1 as a3,year(k3) as a4 from dup_mv_year;"
56+
create_sync_mv(db, "dup_mv_year", "k13y", "select k1 as a3,year(k3) as a4 from dup_mv_year;")
5557

5658
sql "insert into dup_mv_year select 4,'2033-12-31','2033-12-31 01:02:03';"
5759
Thread.sleep(1000)

0 commit comments

Comments
 (0)