Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1648,41 +1648,6 @@ class Suite implements GroovyInterceptable {
return debugPoint
}

// get follower ip
def get_follower_ip = {
def result = sql """show frontends;"""
if (result.size() == 1) {
return null
}
for (int i = 0; i < result.size(); i++) {
if (result[i][7] == "FOLLOWER" && result[i][8] == "false" && result[i][11] == "true") {
return result[i][1]
}
}
return null
}

// get master ip
def get_master_ip = {
def result = sql """show frontends;"""
for (int i = 0; i < result.size(); i++) {
if (result[i][7] == "FOLLOWER" && result[i][8] == "true" && result[i][11] == "true") {
return result[i][1]
}
}
return null
}

def run_on_follower_and_master = { test_fn ->
for (def ip in [get_follower_ip(), get_master_ip()]) {
if (ip != null) {
def jdbc_url = context.config.jdbcUrl.replaceAll(/\/\/[0-9.]+:/, "//${ip}:")
logger.info("jdbc_url: " + jdbc_url)
test_fn(jdbc_url)
}
}
}

def waitingMTMVTaskFinishedByMvName = { mvName, dbName = context.dbName ->
Thread.sleep(2000);
String showTasks = "select TaskId,JobId,JobName,MvId,Status,MvName,MvDatabaseName,ErrorMsg from tasks('type'='mv') where MvDatabaseName = '${dbName}' and MvName = '${mvName}' order by CreateTime ASC"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,26 +127,14 @@ suite("test_base_add_col_multi_level_mtmv","mtmv") {
sql """
alter table ${tableName1} add COLUMN new_col INT AFTER k2;
"""
assertEquals("FINISHED", getAlterColumnFinalState("${tableName1}"))
order_qt_add_col_t1_mv1 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName1}'"
order_qt_add_col_t1_mv2 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName2}'"
order_qt_add_col_t1_mv3 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName3}'"
order_qt_add_col_t1_mv4 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName4}'"

run_on_follower_and_master({ jdbc_url ->
connect(context.config.jdbcUser, context.config.jdbcPassword, jdbc_url) {
sql "sync"
sql """set enable_materialized_view_nest_rewrite = true;"""
sql "use ${dbName}"

assertEquals("FINISHED", getAlterColumnFinalState("${tableName1}"))

order_qt_add_col_t1_mv1 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName1}'"
order_qt_add_col_t1_mv2 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName2}'"
order_qt_add_col_t1_mv3 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName3}'"
order_qt_add_col_t1_mv4 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName4}'"

mv_rewrite_success_without_check_chosen(querySql, mvName1)
mv_rewrite_success_without_check_chosen(querySql, mvName2)
mv_rewrite_success_without_check_chosen(querySql, mvName3)
mv_rewrite_success_without_check_chosen(querySql, mvName4)
}
})


mv_rewrite_success_without_check_chosen(querySql, mvName1)
mv_rewrite_success_without_check_chosen(querySql, mvName2)
mv_rewrite_success_without_check_chosen(querySql, mvName3)
mv_rewrite_success_without_check_chosen(querySql, mvName4)
}
Original file line number Diff line number Diff line change
Expand Up @@ -128,21 +128,13 @@ suite("test_base_alter_col_comment_multi_level_mtmv","mtmv") {
sql """
alter table ${tableName1} modify COLUMN k3 COMMENT 'new comment';
"""
order_qt_add_col_t1_mv1 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName1}'"
order_qt_add_col_t1_mv2 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName2}'"
order_qt_add_col_t1_mv3 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName3}'"
order_qt_add_col_t1_mv4 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName4}'"

run_on_follower_and_master({ jdbc_url ->
connect(context.config.jdbcUser, context.config.jdbcPassword, jdbc_url) {
sql "sync"
sql """set enable_materialized_view_nest_rewrite = true;"""
sql "use ${dbName}"
order_qt_add_col_t1_mv1 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName1}'"
order_qt_add_col_t1_mv2 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName2}'"
order_qt_add_col_t1_mv3 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName3}'"
order_qt_add_col_t1_mv4 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName4}'"

mv_rewrite_success_without_check_chosen(querySql, mvName1)
mv_rewrite_success_without_check_chosen(querySql, mvName2)
mv_rewrite_success_without_check_chosen(querySql, mvName3)
mv_rewrite_success_without_check_chosen(querySql, mvName4)
}
})
mv_rewrite_success_without_check_chosen(querySql, mvName1)
mv_rewrite_success_without_check_chosen(querySql, mvName2)
mv_rewrite_success_without_check_chosen(querySql, mvName3)
mv_rewrite_success_without_check_chosen(querySql, mvName4)
}
Original file line number Diff line number Diff line change
Expand Up @@ -128,20 +128,13 @@ suite("test_base_alter_col_type_multi_level_mtmv","mtmv") {
sql """
alter table ${tableName1} modify COLUMN k3 VARCHAR(100);
"""
run_on_follower_and_master({ jdbc_url ->
connect(context.config.jdbcUser, context.config.jdbcPassword, jdbc_url) {
sql "sync"
sql """set enable_materialized_view_nest_rewrite = true;"""
sql "use ${dbName}"
order_qt_add_col_t1_mv1 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName1}'"
order_qt_add_col_t1_mv2 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName2}'"
order_qt_add_col_t1_mv3 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName3}'"
order_qt_add_col_t1_mv4 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName4}'"
order_qt_add_col_t1_mv1 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName1}'"
order_qt_add_col_t1_mv2 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName2}'"
order_qt_add_col_t1_mv3 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName3}'"
order_qt_add_col_t1_mv4 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName4}'"

mv_rewrite_success_without_check_chosen(querySql, mvName2)
mv_not_part_in(querySql, mvName1)
mv_not_part_in(querySql, mvName3)
mv_not_part_in(querySql, mvName4)
}
})
mv_rewrite_success_without_check_chosen(querySql, mvName2)
mv_not_part_in(querySql, mvName1)
mv_not_part_in(querySql, mvName3)
mv_not_part_in(querySql, mvName4)
}
Original file line number Diff line number Diff line change
Expand Up @@ -127,20 +127,13 @@ suite("test_base_comment_multi_level_mtmv","mtmv") {
sql """
alter table ${tableName1} MODIFY COMMENT "new table comment";
"""
run_on_follower_and_master({ jdbc_url ->
connect(context.config.jdbcUser, context.config.jdbcPassword, jdbc_url) {
sql "sync"
sql """set enable_materialized_view_nest_rewrite = true;"""
sql "use ${dbName}"
order_qt_comment_t1_mv1 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName1}'"
order_qt_comment_t1_mv2 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName2}'"
order_qt_comment_t1_mv3 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName3}'"
order_qt_comment_t1_mv4 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName4}'"
order_qt_comment_t1_mv1 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName1}'"
order_qt_comment_t1_mv2 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName2}'"
order_qt_comment_t1_mv3 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName3}'"
order_qt_comment_t1_mv4 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName4}'"

mv_rewrite_success_without_check_chosen(querySql, mvName1)
mv_rewrite_success_without_check_chosen(querySql, mvName2)
mv_rewrite_success_without_check_chosen(querySql, mvName3)
mv_rewrite_success_without_check_chosen(querySql, mvName4)
}
})
mv_rewrite_success_without_check_chosen(querySql, mvName1)
mv_rewrite_success_without_check_chosen(querySql, mvName2)
mv_rewrite_success_without_check_chosen(querySql, mvName3)
mv_rewrite_success_without_check_chosen(querySql, mvName4)
}
Original file line number Diff line number Diff line change
Expand Up @@ -128,21 +128,14 @@ suite("test_base_drop_col_multi_level_mtmv","mtmv") {
sql """
alter table ${tableName1} drop COLUMN k3;
"""
run_on_follower_and_master({ jdbc_url ->
connect(context.config.jdbcUser, context.config.jdbcPassword, jdbc_url) {
sql "sync"
sql """set enable_materialized_view_nest_rewrite = true;"""
sql "use ${dbName}"
assertEquals("FINISHED", getAlterColumnFinalState("${tableName1}"))
order_qt_add_col_t1_mv1 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName1}'"
order_qt_add_col_t1_mv2 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName2}'"
order_qt_add_col_t1_mv3 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName3}'"
order_qt_add_col_t1_mv4 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName4}'"
assertEquals("FINISHED", getAlterColumnFinalState("${tableName1}"))
order_qt_add_col_t1_mv1 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName1}'"
order_qt_add_col_t1_mv2 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName2}'"
order_qt_add_col_t1_mv3 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName3}'"
order_qt_add_col_t1_mv4 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName4}'"

mv_rewrite_success_without_check_chosen(querySql, mvName2)
mv_not_part_in(querySql, mvName1)
mv_not_part_in(querySql, mvName3)
mv_not_part_in(querySql, mvName4)
}
})
mv_rewrite_success_without_check_chosen(querySql, mvName2)
mv_not_part_in(querySql, mvName1)
mv_not_part_in(querySql, mvName3)
mv_not_part_in(querySql, mvName4)
}
Original file line number Diff line number Diff line change
Expand Up @@ -125,17 +125,10 @@ suite("test_base_drop_multi_level_mtmv","mtmv") {

// drop t1
sql """drop table if exists `${tableName1}`"""
run_on_follower_and_master({ jdbc_url ->
connect(context.config.jdbcUser, context.config.jdbcPassword, jdbc_url) {
sql "sync"
sql """set enable_materialized_view_nest_rewrite = true;"""
sql "use ${dbName}"
order_qt_drop_t1_mv1 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName1}'"
order_qt_drop_t1_mv2 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName2}'"
order_qt_drop_t1_mv3 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName3}'"
order_qt_drop_t1_mv4 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName4}'"
}
})
order_qt_drop_t1_mv1 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName1}'"
order_qt_drop_t1_mv2 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName2}'"
order_qt_drop_t1_mv3 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName3}'"
order_qt_drop_t1_mv4 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName4}'"

sql """
CREATE TABLE ${tableName1}
Expand All @@ -152,15 +145,8 @@ suite("test_base_drop_multi_level_mtmv","mtmv") {
INSERT INTO ${tableName1} VALUES(1,"a");
"""

run_on_follower_and_master({ jdbc_url ->
connect(context.config.jdbcUser, context.config.jdbcPassword, jdbc_url) {
sql "sync"
sql """set enable_materialized_view_nest_rewrite = true;"""
sql "use ${dbName}"
mv_rewrite_success_without_check_chosen(querySql, mvName2)
mv_not_part_in(querySql, mvName1)
mv_not_part_in(querySql, mvName3)
mv_not_part_in(querySql, mvName4)
}
})
mv_rewrite_success_without_check_chosen(querySql, mvName2)
mv_not_part_in(querySql, mvName1)
mv_not_part_in(querySql, mvName3)
mv_not_part_in(querySql, mvName4)
}
Original file line number Diff line number Diff line change
Expand Up @@ -58,25 +58,11 @@ suite("test_base_recreate_on_commit_mtmv","mtmv") {
REFRESH MATERIALIZED VIEW ${mvName} auto
"""
waitingMTMVTaskFinishedByMvName(mvName)
run_on_follower_and_master({ jdbc_url ->
connect(context.config.jdbcUser, context.config.jdbcPassword, jdbc_url) {
sql "sync"
sql """set enable_materialized_view_nest_rewrite = true;"""
sql "use ${dbName}"
order_qt_select_init "select * from ${mvName}"
}
})
order_qt_select_init "select * from ${mvName}"

// drop and recreate
sql """drop table if exists `${tableName1}`"""
run_on_follower_and_master({ jdbc_url ->
connect(context.config.jdbcUser, context.config.jdbcPassword, jdbc_url) {
sql "sync"
sql """set enable_materialized_view_nest_rewrite = true;"""
sql "use ${dbName}"
order_qt_drop "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName}'"
}
})
order_qt_drop "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName}'"

sql """
CREATE TABLE ${tableName1}
Expand All @@ -95,14 +81,6 @@ suite("test_base_recreate_on_commit_mtmv","mtmv") {
"""

waitingMTMVTaskFinishedByMvName(mvName)

run_on_follower_and_master({ jdbc_url ->
connect(context.config.jdbcUser, context.config.jdbcPassword, jdbc_url) {
sql "sync"
sql """set enable_materialized_view_nest_rewrite = true;"""
sql "use ${dbName}"
order_qt_recreate "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName}'"
order_qt_select_recreate "select * from ${mvName}"
}
})
order_qt_recreate "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName}'"
order_qt_select_recreate "select * from ${mvName}"
}
Original file line number Diff line number Diff line change
Expand Up @@ -128,21 +128,13 @@ suite("test_base_rename_col_multi_level_mtmv","mtmv") {
sql """
alter table ${tableName1} rename COLUMN k3 k4;
"""
order_qt_add_col_t1_mv1 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName1}'"
order_qt_add_col_t1_mv2 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName2}'"
order_qt_add_col_t1_mv3 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName3}'"
order_qt_add_col_t1_mv4 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName4}'"

run_on_follower_and_master({ jdbc_url ->
connect(context.config.jdbcUser, context.config.jdbcPassword, jdbc_url) {
sql "sync"
sql """set enable_materialized_view_nest_rewrite = true;"""
sql "use ${dbName}"
order_qt_add_col_t1_mv1 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName1}'"
order_qt_add_col_t1_mv2 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName2}'"
order_qt_add_col_t1_mv3 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName3}'"
order_qt_add_col_t1_mv4 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName4}'"

mv_rewrite_success_without_check_chosen(querySql, mvName2)
mv_not_part_in(querySql, mvName1)
mv_not_part_in(querySql, mvName3)
mv_not_part_in(querySql, mvName4)
}
})
mv_rewrite_success_without_check_chosen(querySql, mvName2)
mv_not_part_in(querySql, mvName1)
mv_not_part_in(querySql, mvName3)
mv_not_part_in(querySql, mvName4)
}
Original file line number Diff line number Diff line change
Expand Up @@ -129,21 +129,13 @@ suite("test_base_rename_multi_level_mtmv","mtmv") {
sql """
ALTER TABLE ${tableName1} rename ${tableName1Rename};
"""
order_qt_drop_t1_mv1 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName1}'"
order_qt_drop_t1_mv2 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName2}'"
order_qt_drop_t1_mv3 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName3}'"
order_qt_drop_t1_mv4 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName4}'"

run_on_follower_and_master({ jdbc_url ->
connect(context.config.jdbcUser, context.config.jdbcPassword, jdbc_url) {
sql "sync"
sql """set enable_materialized_view_nest_rewrite = true;"""
sql "use ${dbName}"
order_qt_drop_t1_mv1 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName1}'"
order_qt_drop_t1_mv2 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName2}'"
order_qt_drop_t1_mv3 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName3}'"
order_qt_drop_t1_mv4 "select Name,State,RefreshState from mv_infos('database'='${dbName}') where Name='${mvName4}'"

mv_rewrite_success_without_check_chosen(querySql, mvName2)
mv_not_part_in(querySql, mvName1)
mv_not_part_in(querySql, mvName3)
mv_not_part_in(querySql, mvName4)
}
})
mv_rewrite_success_without_check_chosen(querySql, mvName2)
mv_not_part_in(querySql, mvName1)
mv_not_part_in(querySql, mvName3)
mv_not_part_in(querySql, mvName4)
}
Loading
Loading