This is an automated email from the ASF dual-hosted git repository.

yiguolei 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 3c641d4465 [Improve](regression) Add timeout check in schema change 
regression (#16568)
3c641d4465 is described below

commit 3c641d44659e9775a3032936063b26ae4806bba1
Author: Lightman <[email protected]>
AuthorDate: Thu Feb 16 19:27:22 2023 +0800

    [Improve](regression) Add timeout check in schema change regression (#16568)
    
    When the PRs run CI, the BE crash. The case will be always running. It 
wastes the resource. So modify it and add timeout check.
---
 .../test_agg_keys_schema_change_datev2.groovy      | 12 +++---
 .../test_dup_keys_schema_change_datev2.groovy      |  6 +--
 .../test_agg_keys_schema_change_decimalv3.groovy   | 10 ++---
 .../test_agg_keys_schema_change.groovy             | 43 ++++++++++++---------
 .../test_agg_mv_schema_change.groovy               | 45 ++++++++++++++--------
 .../test_agg_rollup_schema_change.groovy           | 45 ++++++++++++++--------
 .../test_alter_table_column.groovy                 |  2 +-
 .../test_dup_keys_schema_change.groovy             | 23 ++++++-----
 .../test_dup_mv_schema_change.groovy               | 45 ++++++++++++++--------
 .../test_dup_rollup_schema_change.groovy           | 45 ++++++++++++++--------
 .../schema_change_p0/test_rename_column.groovy     | 42 +++++++++++++-------
 .../schema_change_p0/test_schema_change.groovy     |  2 +-
 .../test_uniq_mv_schema_change.groovy              | 22 +++++++----
 .../test_uniq_rollup_schema_change.groovy          | 45 ++++++++++++++--------
 14 files changed, 237 insertions(+), 150 deletions(-)

diff --git 
a/regression-test/suites/schema_change_p0/datev2/test_agg_keys_schema_change_datev2.groovy
 
b/regression-test/suites/schema_change_p0/datev2/test_agg_keys_schema_change_datev2.groovy
index f96067a8a2..05dbb36d7f 100644
--- 
a/regression-test/suites/schema_change_p0/datev2/test_agg_keys_schema_change_datev2.groovy
+++ 
b/regression-test/suites/schema_change_p0/datev2/test_agg_keys_schema_change_datev2.groovy
@@ -133,7 +133,7 @@ suite("test_agg_keys_schema_change_datev2") {
 
     sql """ alter table ${tbName} add column `datev3` datev2 DEFAULT 
'2022-01-01' """
     int max_try_time = 1000
-    while(max_try_time--){
+    while (max_try_time--){
         String result = getJobState(tbName)
         if (result == "FINISHED") {
             break
@@ -154,7 +154,7 @@ suite("test_agg_keys_schema_change_datev2") {
     qt_sql """select * from ${tbName} ORDER BY `datek1`;"""
     sql """ alter table ${tbName} drop column `datev3` """
     max_try_time = 1000
-    while(max_try_time--){
+    while (max_try_time--){
         String result = getJobState(tbName)
         if (result == "FINISHED") {
             break
@@ -182,7 +182,7 @@ suite("test_agg_keys_schema_change_datev2") {
     qt_sql """select * from ${tbName} ORDER BY `datek1`;"""
     sql """ alter  table ${tbName} add column `datev3` datetimev2 DEFAULT 
'2022-01-01 11:11:11' """
     max_try_time = 1000
-    while(max_try_time--){
+    while (max_try_time--){
         String result = getJobState(tbName)
         if (result == "FINISHED") {
             break
@@ -203,7 +203,7 @@ suite("test_agg_keys_schema_change_datev2") {
     qt_sql """select * from ${tbName} ORDER BY `datek1`;"""
     sql """ alter table ${tbName} drop column `datev3` """
     max_try_time = 1000
-    while(max_try_time--){
+    while (max_try_time--){
         String result = getJobState(tbName)
         if (result == "FINISHED") {
             break
@@ -231,7 +231,7 @@ suite("test_agg_keys_schema_change_datev2") {
     qt_sql """select * from ${tbName} ORDER BY `datek1`;"""
     sql """ alter  table ${tbName} add column `datev3` datetimev2(3) DEFAULT 
'2022-01-01 11:11:11.111' """
     max_try_time = 1000
-    while(max_try_time--){
+    while (max_try_time--){
         String result = getJobState(tbName)
         if (result == "FINISHED") {
             break
@@ -260,7 +260,7 @@ suite("test_agg_keys_schema_change_datev2") {
     qt_sql """select * from ${tbName} ORDER BY `datek1`;"""
     sql """ alter table ${tbName} drop column `datev3` """
     max_try_time = 1000
-    while(max_try_time--){
+    while (max_try_time--){
         String result = getJobState(tbName)
         if (result == "FINISHED") {
             break
diff --git 
a/regression-test/suites/schema_change_p0/datev2/test_dup_keys_schema_change_datev2.groovy
 
b/regression-test/suites/schema_change_p0/datev2/test_dup_keys_schema_change_datev2.groovy
index 8e17145d39..966eb2b811 100644
--- 
a/regression-test/suites/schema_change_p0/datev2/test_dup_keys_schema_change_datev2.groovy
+++ 
b/regression-test/suites/schema_change_p0/datev2/test_dup_keys_schema_change_datev2.groovy
@@ -128,7 +128,7 @@ suite("test_dup_keys_schema_change_datev2") {
 
     sql """ alter table ${tbName} modify column `datev1` datev2 DEFAULT 
'2022-01-01' """
     int max_try_time = 1000
-    while(max_try_time--){
+    while (max_try_time--){
         String result = getJobState(tbName)
         if (result == "FINISHED") {
             break
@@ -155,7 +155,7 @@ suite("test_dup_keys_schema_change_datev2") {
     qt_sql """select  * from ${tbName} ORDER BY `datek1`;"""
     sql """ alter  table ${tbName} modify column `datev2` datetimev2 DEFAULT 
'2022-01-01 11:11:11' """
     max_try_time = 1000
-    while(max_try_time--){
+    while (max_try_time--){
         String result = getJobState(tbName)
         if (result == "FINISHED") {
             break
@@ -182,7 +182,7 @@ suite("test_dup_keys_schema_change_datev2") {
     qt_sql """select  * from ${tbName} ORDER BY `datek1`;"""
     sql """ alter  table ${tbName} modify column `datev2` datetimev2(3) 
DEFAULT '2022-01-01 11:11:11' """
     max_try_time = 1000
-    while(max_try_time--){
+    while (max_try_time--){
         String result = getJobState(tbName)
         if (result == "FINISHED") {
             break
diff --git 
a/regression-test/suites/schema_change_p0/decimalv3/test_agg_keys_schema_change_decimalv3.groovy
 
b/regression-test/suites/schema_change_p0/decimalv3/test_agg_keys_schema_change_decimalv3.groovy
index d9955b8acd..497d16efd5 100644
--- 
a/regression-test/suites/schema_change_p0/decimalv3/test_agg_keys_schema_change_decimalv3.groovy
+++ 
b/regression-test/suites/schema_change_p0/decimalv3/test_agg_keys_schema_change_decimalv3.groovy
@@ -122,7 +122,7 @@ suite("test_agg_keys_schema_change_decimalv3") {
 
     sql """ alter table ${tbName} add column `decimalv3v3` DECIMALV3(38,4) """
     int max_try_time = 1000
-    while(max_try_time--){
+    while (max_try_time--){
         String result = getJobState(tbName)
         if (result == "FINISHED") {
             break
@@ -140,7 +140,7 @@ suite("test_agg_keys_schema_change_decimalv3") {
     qt_sql """select * from ${tbName} ORDER BY `decimalv3k1`;"""
     sql """ alter table ${tbName} drop column `decimalv3v3` """
     max_try_time = 1000
-    while(max_try_time--){
+    while (max_try_time--){
         String result = getJobState(tbName)
         if (result == "FINISHED") {
             break
@@ -156,7 +156,7 @@ suite("test_agg_keys_schema_change_decimalv3") {
     qt_sql """select * from ${tbName} ORDER BY `decimalv3k1`;"""
     sql """ alter table ${tbName} modify column decimalv3k2 DECIMALV3(19,3) 
key """
     max_try_time = 1000
-    while(max_try_time--){
+    while (max_try_time--){
         String result = getJobState(tbName)
         if (result == "FINISHED") {
             break
@@ -173,7 +173,7 @@ suite("test_agg_keys_schema_change_decimalv3") {
 
     sql """ alter table ${tbName} modify column decimalv3k2 DECIMALV3(38,10) 
key """
     max_try_time = 1000
-    while(max_try_time--){
+    while (max_try_time--){
         String result = getJobState(tbName)
         if (result == "FINISHED") {
             break
@@ -190,7 +190,7 @@ suite("test_agg_keys_schema_change_decimalv3") {
 
     sql """ alter table ${tbName} modify column decimalv3k2 DECIMALV3(16,3) 
key """
     max_try_time = 1000
-    while(max_try_time--){
+    while (max_try_time--){
         String result = getJobState(tbName)
         if (result == "FINISHED") {
             break
diff --git 
a/regression-test/suites/schema_change_p0/test_agg_keys_schema_change.groovy 
b/regression-test/suites/schema_change_p0/test_agg_keys_schema_change.groovy
index f58ab5e37d..2de2886a85 100644
--- a/regression-test/suites/schema_change_p0/test_agg_keys_schema_change.groovy
+++ b/regression-test/suites/schema_change_p0/test_agg_keys_schema_change.groovy
@@ -18,6 +18,11 @@
 import org.codehaus.groovy.runtime.IOGroovyMethods
 
 suite ("test_agg_keys_schema_change") {
+    def getJobState = { tableName ->
+         def jobStateResult = sql """  SHOW ALTER TABLE COLUMN WHERE 
IndexName='${tableName}' ORDER BY createtime DESC LIMIT 1 """
+         return jobStateResult[0][9]
+    }
+    
     def tableName = "schema_change_agg_keys_regression_test"
 
     try {
@@ -96,17 +101,18 @@ suite ("test_agg_keys_schema_change") {
             ALTER table ${tableName} ADD COLUMN new_key_column INT default "2" 
             """
 
-        result = "null"
-        while (!result.contains("FINISHED")){
-            result = sql "SHOW ALTER TABLE COLUMN WHERE 
IndexName='${tableName}' ORDER BY CreateTime DESC LIMIT 1;"
-            result = result.toString()
-            logger.info("result: ${result}")
-            if(result.contains("CANCELLED")){
-                return
+        int max_try_time = 3000
+        while (max_try_time--){
+            String result = getJobState(tableName)
+            if (result == "FINISHED") {
+                break
+            } else {
+                sleep(100)
+                if (max_try_time < 1){
+                    assertEquals(1,2)
+                }
             }
-            Thread.sleep(100)
         }
-        Thread.sleep(1000)
 
         sql """ INSERT INTO ${tableName} 
(`user_id`,`date`,`city`,`age`,`sex`,`cost`,`max_dwell_time`,`min_dwell_time`, 
`hll_col`, `bitmap_col`)
                 VALUES
@@ -149,17 +155,18 @@ suite ("test_agg_keys_schema_change") {
         sql """
             ALTER TABLE ${tableName} DROP COLUMN new_key_column
             """
-        result = "null"
-        while (!result.contains("FINISHED")){
-            result = sql "SHOW ALTER TABLE COLUMN WHERE 
IndexName='${tableName}' ORDER BY CreateTime DESC LIMIT 1;"
-            result = result.toString()
-            logger.info("result: ${result}")
-            if(result.contains("CANCELLED")){
-                return
+        max_try_time = 3000
+        while (max_try_time--){
+            String result = getJobState(tableName)
+            if (result == "FINISHED") {
+                break
+            } else {
+                sleep(100)
+                if (max_try_time < 1){
+                    assertEquals(1,2)
+                }
             }
-            Thread.sleep(100)
         }
-
         qt_sc """ select * from ${tableName} where user_id = 3 """
 
 
diff --git 
a/regression-test/suites/schema_change_p0/test_agg_mv_schema_change.groovy 
b/regression-test/suites/schema_change_p0/test_agg_mv_schema_change.groovy
index 5bcef9b8d3..230bfd75e0 100644
--- a/regression-test/suites/schema_change_p0/test_agg_mv_schema_change.groovy
+++ b/regression-test/suites/schema_change_p0/test_agg_mv_schema_change.groovy
@@ -19,6 +19,14 @@
 import org.codehaus.groovy.runtime.IOGroovyMethods
 
 suite ("test_agg_mv_schema_change") {
+    def getJobState = { tbName ->
+         def jobStateResult = sql """  SHOW ALTER TABLE COLUMN WHERE 
IndexName='${tbName}' ORDER BY createtime DESC LIMIT 1 """
+         return jobStateResult[0][9]
+    }
+    def getMVJobState = { tbName ->
+         def jobStateResult = sql """  SHOW ALTER TABLE MATERIALIZED VIEW 
WHERE TableName='${tbName}' ORDER BY CreateTime DESC LIMIT 1 """
+         return jobStateResult[0][8]
+    }
     def tableName = "schema_change_agg_mv_regression_test"
 
     try {
@@ -77,17 +85,19 @@ suite ("test_agg_mv_schema_change") {
             """
 
         //add materialized view
-        def result = "null"
         def mvName = "mv1"
         sql "create materialized view ${mvName} as select user_id, date, city, 
age, sum(cost) from ${tableName} group by user_id, date, city, age, sex;"
-        while (!result.contains("FINISHED")){
-            result = sql "SHOW ALTER TABLE MATERIALIZED VIEW WHERE 
TableName='${tableName}' ORDER BY CreateTime DESC LIMIT 1;"
-            result = result.toString()
-            logger.info("result: ${result}")
-            if(result.contains("CANCELLED")){
-                return
+        max_try_time = 3000
+        while (max_try_time--){
+            String result = getMVJobState(tableName)
+            if (result == "FINISHED") {
+                break
+            } else {
+                sleep(100)
+                if (max_try_time < 1){
+                    assertEquals(1,2)
+                }
             }
-            Thread.sleep(100)
         }
 
         sql """ INSERT INTO ${tableName} VALUES
@@ -110,16 +120,17 @@ suite ("test_agg_mv_schema_change") {
             ALTER TABLE ${tableName} DROP COLUMN cost
             """
 
-        result = "null"
-        while (!result.contains("FINISHED")){
-            result = sql "SHOW ALTER TABLE COLUMN WHERE 
IndexName='${tableName}' ORDER BY CreateTime DESC LIMIT 1;"
-            result = result.toString()
-            logger.info("result: ${result}")
-            if(result.contains("CANCELLED")) {
-                log.info("rollup job is cancelled, result: 
${result}".toString())
-                return
+        max_try_time = 3000
+        while (max_try_time--){
+            String result = getJobState(tableName)
+            if (result == "FINISHED") {
+                break
+            } else {
+                sleep(100)
+                if (max_try_time < 1){
+                    assertEquals(1,2)
+                }
             }
-            Thread.sleep(100)
         }
 
         sql """ INSERT INTO ${tableName} (`user_id`, `date`, `city`, `age`, 
`sex`, `max_dwell_time`,`min_dwell_time`, `hll_col`, `bitmap_col`)
diff --git 
a/regression-test/suites/schema_change_p0/test_agg_rollup_schema_change.groovy 
b/regression-test/suites/schema_change_p0/test_agg_rollup_schema_change.groovy
index acd9a82931..7439066c81 100644
--- 
a/regression-test/suites/schema_change_p0/test_agg_rollup_schema_change.groovy
+++ 
b/regression-test/suites/schema_change_p0/test_agg_rollup_schema_change.groovy
@@ -20,6 +20,14 @@ import org.codehaus.groovy.runtime.IOGroovyMethods
 
 suite ("test_agg_rollup_schema_change") {
     def tableName = "schema_change_agg_rollup_regression_test"
+    def getMVJobState = { tbName ->
+         def jobStateResult = sql """  SHOW ALTER TABLE ROLLUP WHERE 
TableName='${tbName}' ORDER BY CreateTime DESC LIMIT 1 """
+         return jobStateResult[0][8]
+    }
+    def getJobState = { tbName ->
+         def jobStateResult = sql """  SHOW ALTER TABLE COLUMN WHERE 
IndexName='${tbName}' ORDER BY createtime DESC LIMIT 1 """
+         return jobStateResult[0][9]
+    }
 
     try {
 
@@ -78,17 +86,19 @@ suite ("test_agg_rollup_schema_change") {
             """
 
         //add rollup
-        def result = "null"
         def rollupName = "rollup_cost"
         sql "ALTER TABLE ${tableName} ADD ROLLUP 
${rollupName}(`user_id`,`date`,`city`,`age`, cost);"
-        while (!result.contains("FINISHED")){
-            result = sql "SHOW ALTER TABLE ROLLUP WHERE 
TableName='${tableName}' ORDER BY CreateTime DESC LIMIT 1;"
-            result = result.toString()
-            logger.info("result: ${result}")
-            if(result.contains("CANCELLED")){
-                return
+        int max_try_time = 3000
+        while (max_try_time--){
+            String result = getMVJobState(tableName)
+            if (result == "FINISHED") {
+                break
+            } else {
+                sleep(100)
+                if (max_try_time < 1){
+                    assertEquals(1,2)
+                }
             }
-            Thread.sleep(100)
         }
 
         sql """ INSERT INTO ${tableName} VALUES
@@ -111,16 +121,17 @@ suite ("test_agg_rollup_schema_change") {
             ALTER TABLE ${tableName} DROP COLUMN cost
             """
 
-        result = "null"
-        while (!result.contains("FINISHED")){
-            result = sql "SHOW ALTER TABLE COLUMN WHERE 
IndexName='${tableName}' ORDER BY CreateTime DESC LIMIT 1;"
-            result = result.toString()
-            logger.info("result: ${result}")
-            if(result.contains("CANCELLED")) {
-                log.info("rollup job is cancelled, result: 
${result}".toString())
-                return
+        max_try_time = 3000
+        while (max_try_time--){
+            String result = getJobState(tableName)
+            if (result == "FINISHED") {
+                break
+            } else {
+                sleep(100)
+                if (max_try_time < 1){
+                    assertEquals(1,2)
+                }
             }
-            Thread.sleep(100)
         }
 
         sql """ INSERT INTO ${tableName} (`user_id`, `date`, `city`, `age`, 
`sex`, `max_dwell_time`,`min_dwell_time`, `hll_col`, `bitmap_col`)
diff --git 
a/regression-test/suites/schema_change_p0/test_alter_table_column.groovy 
b/regression-test/suites/schema_change_p0/test_alter_table_column.groovy
index 8bbf40bef7..e6848dc7fe 100644
--- a/regression-test/suites/schema_change_p0/test_alter_table_column.groovy
+++ b/regression-test/suites/schema_change_p0/test_alter_table_column.groovy
@@ -117,7 +117,7 @@ suite("test_alter_table_column") {
     // vector search
     def check_load_result = {checklabel, testTablex ->
         Integer max_try_milli_secs = 10000
-        while(max_try_milli_secs) {
+        while (max_try_milli_secs) {
             def result = sql "show load where label = '${checklabel}'"
             if(result[0][2] == "FINISHED") {
                 qt_select "select * from ${testTablex} order by k1"
diff --git 
a/regression-test/suites/schema_change_p0/test_dup_keys_schema_change.groovy 
b/regression-test/suites/schema_change_p0/test_dup_keys_schema_change.groovy
index 9d6afab5e9..19329ab37d 100644
--- a/regression-test/suites/schema_change_p0/test_dup_keys_schema_change.groovy
+++ b/regression-test/suites/schema_change_p0/test_dup_keys_schema_change.groovy
@@ -19,6 +19,10 @@ import org.codehaus.groovy.runtime.IOGroovyMethods
 
 suite ("test_dup_keys_schema_change") {
     def tableName = "schema_change_dup_keys_regression_test"
+    def getJobState = { tbName ->
+         def jobStateResult = sql """  SHOW ALTER TABLE COLUMN WHERE 
IndexName='${tbName}' ORDER BY createtime DESC LIMIT 1 """
+         return jobStateResult[0][9]
+    }
 
     try {
         String[][] backends = sql """ show backends; """
@@ -122,16 +126,17 @@ suite ("test_dup_keys_schema_change") {
         sql """
             ALTER TABLE ${tableName} DROP COLUMN sex
             """
-        result = "null"
-        while (!result.contains("FINISHED")){
-            result = sql "SHOW ALTER TABLE COLUMN WHERE 
IndexName='${tableName}' ORDER BY CreateTime DESC LIMIT 1;"
-            result = result.toString()
-            logger.info("result: ${result}")
-            if(result.contains("CANCELLED")) {
-                log.info("rollup job is cancelled, result: 
${result}".toString())
-                return
+        int max_try_time = 3000
+        while (max_try_time--){
+            String result = getJobState(tableName)
+            if (result == "FINISHED") {
+                break
+            } else {
+                sleep(100)
+                if (max_try_time < 1){
+                    assertEquals(1,2)
+                }
             }
-            Thread.sleep(100)
         }
         Thread.sleep(1000)
         qt_sc """ select * from ${tableName} where user_id = 3 order by 
new_column """
diff --git 
a/regression-test/suites/schema_change_p0/test_dup_mv_schema_change.groovy 
b/regression-test/suites/schema_change_p0/test_dup_mv_schema_change.groovy
index 1e65a55e4d..cb9bd44f3b 100644
--- a/regression-test/suites/schema_change_p0/test_dup_mv_schema_change.groovy
+++ b/regression-test/suites/schema_change_p0/test_dup_mv_schema_change.groovy
@@ -19,6 +19,14 @@ import org.codehaus.groovy.runtime.IOGroovyMethods
 
 suite ("test_dup_mv_schema_change") {
     def tableName = "schema_change_dup_mv_regression_test"
+    def getJobState = { tbName ->
+         def jobStateResult = sql """  SHOW ALTER TABLE COLUMN WHERE 
IndexName='${tbName}' ORDER BY createtime DESC LIMIT 1 """
+         return jobStateResult[0][9]
+    }
+    def getMVJobState = { tbName ->
+         def jobStateResult = sql """  SHOW ALTER TABLE MATERIALIZED VIEW 
WHERE TableName='${tbName}' ORDER BY CreateTime DESC LIMIT 1 """
+         return jobStateResult[0][8]
+    }
 
     try {
         String[][] backends = sql """ show backends; """
@@ -77,17 +85,19 @@ suite ("test_dup_mv_schema_change") {
             """
 
         //add materialized view
-        def result = "null"
         def mvName = "mv1"
         sql "create materialized view ${mvName} as select date, user_id, city, 
age from ${tableName};"
-        while (!result.contains("FINISHED")){
-            result = sql "SHOW ALTER TABLE MATERIALIZED VIEW WHERE 
TableName='${tableName}' ORDER BY CreateTime DESC LIMIT 1;"
-            result = result.toString()
-            logger.info("result: ${result}")
-            if(result.contains("CANCELLED")){
-                return 
+        int max_try_time = 3000
+        while (max_try_time--){
+            String result = getMVJobState(tableName)
+            if (result == "FINISHED") {
+                break
+            } else {
+                sleep(100)
+                if (max_try_time < 1){
+                    assertEquals(1,2)
+                }
             }
-            Thread.sleep(100)
         }
 
         sql """ INSERT INTO ${tableName} VALUES
@@ -136,16 +146,17 @@ suite ("test_dup_mv_schema_change") {
         sql """
             ALTER TABLE ${tableName} DROP COLUMN sex
             """
-        result = "null"
-        while (!result.contains("FINISHED")){
-            result = sql "SHOW ALTER TABLE COLUMN WHERE 
IndexName='${tableName}' ORDER BY CreateTime DESC LIMIT 1;"
-            result = result.toString()
-            logger.info("result: ${result}")
-            if(result.contains("CANCELLED")) {
-                log.info("rollup job is cancelled, result: 
${result}".toString())
-                return
+        max_try_time = 3000
+        while (max_try_time--){
+            String result = getJobState(tableName)
+            if (result == "FINISHED") {
+                break
+            } else {
+                sleep(100)
+                if (max_try_time < 1){
+                    assertEquals(1,2)
+                }
             }
-            Thread.sleep(100)
         }
 
         qt_sc """ select * from ${tableName} where user_id = 3 order by 
new_column """
diff --git 
a/regression-test/suites/schema_change_p0/test_dup_rollup_schema_change.groovy 
b/regression-test/suites/schema_change_p0/test_dup_rollup_schema_change.groovy
index 94e6510555..e232fbf715 100644
--- 
a/regression-test/suites/schema_change_p0/test_dup_rollup_schema_change.groovy
+++ 
b/regression-test/suites/schema_change_p0/test_dup_rollup_schema_change.groovy
@@ -18,6 +18,14 @@
 import org.codehaus.groovy.runtime.IOGroovyMethods
 
 suite ("test_dup_rollup_schema_change") {
+    def getMVJobState = { tableName ->
+         def jobStateResult = sql """  SHOW ALTER TABLE ROLLUP WHERE 
TableName='${tableName}' ORDER BY CreateTime DESC LIMIT 1 """
+         return jobStateResult[0][8]
+    }
+    def getJobState = { tableName ->
+         def jobStateResult = sql """  SHOW ALTER TABLE COLUMN WHERE 
IndexName='${tableName}' ORDER BY createtime DESC LIMIT 1 """
+         return jobStateResult[0][9]
+    }
     def tableName = "schema_change_dup_rollup_regression_test"
 
     try {
@@ -76,17 +84,19 @@ suite ("test_dup_rollup_schema_change") {
             """
 
         //add rollup
-        def result = "null"
         def rollupName = "rollup_cost"
         sql "ALTER TABLE ${tableName} ADD ROLLUP 
${rollupName}(`user_id`,`date`,`city`,`age`, cost);"
-        while (!result.contains("FINISHED")){
-            result = sql "SHOW ALTER TABLE ROLLUP WHERE 
TableName='${tableName}' ORDER BY CreateTime DESC LIMIT 1;"
-            result = result.toString()
-            logger.info("result: ${result}")
-            if(result.contains("CANCELLED")){
-                return
+        int max_try_time = 3000
+        while (max_try_time--){
+            String result = getMVJobState(tableName)
+            if (result == "FINISHED") {
+                break
+            } else {
+                sleep(100)
+                if (max_try_time < 1){
+                    assertEquals(1,2)
+                }
             }
-            Thread.sleep(100)
         }
 
         sql """ INSERT INTO ${tableName} VALUES
@@ -133,16 +143,17 @@ suite ("test_dup_rollup_schema_change") {
         sql """
             ALTER TABLE ${tableName} DROP COLUMN sex
             """
-        result = "null"
-        while (!result.contains("FINISHED")){
-            result = sql "SHOW ALTER TABLE COLUMN WHERE 
IndexName='${tableName}' ORDER BY CreateTime DESC LIMIT 1;"
-            result = result.toString()
-            logger.info("result: ${result}")
-            if(result.contains("CANCELLED")) {
-                log.info("rollup job is cancelled, result: 
${result}".toString())
-                return
+        max_try_time = 3000
+        while (max_try_time--){
+            String result = getJobState(tableName)
+            if (result == "FINISHED") {
+                break
+            } else {
+                sleep(100)
+                if (max_try_time < 1){
+                    assertEquals(1,2)
+                }
             }
-            Thread.sleep(100)
         }
 
         qt_sc """ select * from ${tableName} where user_id = 3 order by 
new_column """
diff --git a/regression-test/suites/schema_change_p0/test_rename_column.groovy 
b/regression-test/suites/schema_change_p0/test_rename_column.groovy
index 2037b81038..309573a8d8 100644
--- a/regression-test/suites/schema_change_p0/test_rename_column.groovy
+++ b/regression-test/suites/schema_change_p0/test_rename_column.groovy
@@ -17,6 +17,14 @@
 
 suite ("test_rename_column") {
     def tableName = "rename_column_test"
+    def getMVJobState = { tbName ->
+         def jobStateResult = sql """  SHOW ALTER TABLE MATERIALIZED VIEW 
WHERE TableName='${tbName}' ORDER BY CreateTime DESC LIMIT 1 """
+         return jobStateResult[0][8]
+    }
+    def getRollupJobState = { tbName ->
+         def jobStateResult = sql """  SHOW ALTER TABLE ROLLUP WHERE 
TableName='${tbName}' ORDER BY CreateTime DESC LIMIT 1 """
+         return jobStateResult[0][8]
+    }
     sql """ DROP TABLE IF EXISTS ${tableName} """
     sql """
         CREATE TABLE IF NOT EXISTS ${tableName} (
@@ -140,14 +148,17 @@ suite ("test_rename_column") {
     def resRoll = "null"
     def rollupName = "rollup_cost"
     sql "ALTER TABLE ${tableName} ADD ROLLUP ${rollupName}(`user_id`, `cost`);"
-    while (!resRoll.contains("FINISHED")){
-        resRoll = sql "SHOW ALTER TABLE ROLLUP WHERE TableName='${tableName}' 
ORDER BY CreateTime DESC LIMIT 1;"
-        resRoll = resRoll.toString()
-        logger.info("result: ${resRoll}")
-        if(resRoll.contains("CANCELLED")){
-            return
+    int max_try_time = 3000
+    while (max_try_time--){
+        String result = getRollupJobState(tableName)
+        if (result == "FINISHED") {
+            break
+        } else {
+            sleep(100)
+            if (max_try_time < 1){
+                assertEquals(1,2)
+            }
         }
-        Thread.sleep(500)
     }
 
     qt_select """ select user_id, cost from ${tableName} order by user_id """
@@ -202,14 +213,17 @@ suite ("test_rename_column") {
     def resMv = "null"
     def mvName = "mv1"
     sql "create materialized view ${mvName} as select user_id, sum(cost) from 
${tableName} group by user_id;"
-    while (!resMv.contains("FINISHED")){
-        resMv = sql "SHOW ALTER TABLE MATERIALIZED VIEW WHERE 
TableName='${tableName}' ORDER BY CreateTime DESC LIMIT 1;"
-        resMv = resMv.toString()
-        logger.info("result: ${resMv}")
-        if(resMv.contains("CANCELLED")){
-            return
+    max_try_time = 3000
+    while (max_try_time--){
+        String result = getMVJobState(tableName)
+        if (result == "FINISHED") {
+            break
+        } else {
+            sleep(100)
+            if (max_try_time < 1){
+                assertEquals(1,2)
+            }
         }
-        Thread.sleep(500)
     }
 
     qt_select """ select user_id, cost from ${tableName} order by user_id """
diff --git a/regression-test/suites/schema_change_p0/test_schema_change.groovy 
b/regression-test/suites/schema_change_p0/test_schema_change.groovy
index dbf893d63f..fd1479f121 100644
--- a/regression-test/suites/schema_change_p0/test_schema_change.groovy
+++ b/regression-test/suites/schema_change_p0/test_schema_change.groovy
@@ -47,7 +47,7 @@ suite("test_schema_change") {
      sql """ alter  table ${tbName} modify column citycode string """
 
      int max_try_time = 100
-     while(max_try_time--){
+     while (max_try_time--){
           String result = getJobState(tbName)
           if (result == "FINISHED") {
                qt_desc_uniq_table """ desc ${tbName} """
diff --git 
a/regression-test/suites/schema_change_p0/test_uniq_mv_schema_change.groovy 
b/regression-test/suites/schema_change_p0/test_uniq_mv_schema_change.groovy
index cad59ed449..9cbc558286 100644
--- a/regression-test/suites/schema_change_p0/test_uniq_mv_schema_change.groovy
+++ b/regression-test/suites/schema_change_p0/test_uniq_mv_schema_change.groovy
@@ -19,6 +19,10 @@ import org.codehaus.groovy.runtime.IOGroovyMethods
 
 suite ("test_uniq_mv_schema_change") {
     def tableName = "schema_change_uniq_mv_regression_test"
+    def getMVJobState = { tbName ->
+         def jobStateResult = sql """  SHOW ALTER TABLE MATERIALIZED VIEW 
WHERE TableName='${tbName}' ORDER BY CreateTime DESC LIMIT 1 """
+         return jobStateResult[0][8]
+    }
 
     try {
         String[][] backends = sql """ show backends; """
@@ -76,17 +80,19 @@ suite ("test_uniq_mv_schema_change") {
         """
 
     //add materialized view
-    def result = "null"
     def mvName = "mv1"
     sql "create materialized view ${mvName} as select user_id, date, city, age 
from ${tableName} group by user_id, date, city, age;"
-    while (!result.contains("FINISHED")){
-        result = sql "SHOW ALTER TABLE MATERIALIZED VIEW WHERE 
TableName='${tableName}' ORDER BY CreateTime DESC LIMIT 1;"
-        result = result.toString()
-        logger.info("result: ${result}")
-        if(result.contains("CANCELLED")){
-            return
+    int max_try_time = 3000
+    while (max_try_time--){
+        String result = getMVJobState(tableName)
+        if (result == "FINISHED") {
+            break
+        } else {
+            sleep(100)
+            if (max_try_time < 1){
+                assertEquals(1,2)
+            }
         }
-        Thread.sleep(100)
     }
 
     sql """ INSERT INTO ${tableName} VALUES
diff --git 
a/regression-test/suites/schema_change_p0/test_uniq_rollup_schema_change.groovy 
b/regression-test/suites/schema_change_p0/test_uniq_rollup_schema_change.groovy
index ceef82590c..a7ae2142ea 100644
--- 
a/regression-test/suites/schema_change_p0/test_uniq_rollup_schema_change.groovy
+++ 
b/regression-test/suites/schema_change_p0/test_uniq_rollup_schema_change.groovy
@@ -19,6 +19,14 @@ import org.codehaus.groovy.runtime.IOGroovyMethods
 
 suite ("test_uniq_rollup_schema_change") {
     def tableName = "schema_change_uniq_rollup_regression_test"
+    def getMVJobState = { tbName ->
+         def jobStateResult = sql """  SHOW ALTER TABLE ROLLUP WHERE 
TableName='${tbName}' ORDER BY CreateTime DESC LIMIT 1 """
+         return jobStateResult[0][8]
+    }
+    def getJobState = { tbName ->
+         def jobStateResult = sql """  SHOW ALTER TABLE COLUMN WHERE 
IndexName='${tbName}' ORDER BY createtime DESC LIMIT 1 """
+         return jobStateResult[0][9]
+    }
 
     try {
         String[][] backends = sql """ show backends; """
@@ -76,17 +84,19 @@ suite ("test_uniq_rollup_schema_change") {
         """
 
     //add rollup
-    def result = "null"
     def rollupName = "rollup_cost"
     sql "ALTER TABLE ${tableName} ADD ROLLUP 
${rollupName}(`user_id`,`date`,`city`,`sex`, `age`, cost);"
-    while (!result.contains("FINISHED")){
-        result = sql "SHOW ALTER TABLE ROLLUP WHERE TableName='${tableName}' 
ORDER BY CreateTime DESC LIMIT 1;"
-        result = result.toString()
-        logger.info("result: ${result}")
-        if(result.contains("CANCELLED")){
-            return
+    int max_try_time = 3000
+    while (max_try_time--){
+        String result = getMVJobState(tableName)
+        if (result == "FINISHED") {
+            break
+        } else {
+            sleep(100)
+            if (max_try_time < 1){
+                assertEquals(1,2)
+            }
         }
-        Thread.sleep(100)
     }
 
     sql """ INSERT INTO ${tableName} VALUES
@@ -137,16 +147,17 @@ suite ("test_uniq_rollup_schema_change") {
           ALTER TABLE ${tableName} DROP COLUMN cost
           """
 
-    result = "null"
-    while (!result.contains("FINISHED")){
-        result = sql "SHOW ALTER TABLE COLUMN WHERE IndexName='${tableName}' 
ORDER BY CreateTime DESC LIMIT 1;"
-        result = result.toString()
-        logger.info("result: ${result}")
-        if(result.contains("CANCELLED")) {
-            log.info("rollup job is cancelled, result: ${result}".toString())
-            return
+    max_try_time = 3000
+    while (max_try_time--){
+        String result = getJobState(tableName)
+        if (result == "FINISHED") {
+            break
+        } else {
+            sleep(100)
+            if (max_try_time < 1){
+                assertEquals(1,2)
+            }
         }
-        Thread.sleep(100)
     }
 
     qt_sc """ select * from ${tableName} where user_id = 3 """


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to