diff --git a/regression-test/framework/pom.xml b/regression-test/framework/pom.xml index 5d2cce687ee5ae..4d1f727c5cd22e 100644 --- a/regression-test/framework/pom.xml +++ b/regression-test/framework/pom.xml @@ -286,5 +286,13 @@ under the License. jcc 11.5.8.0 + + org.awaitility + awaitility + 4.2.1 + + compile + + diff --git a/regression-test/suites/job_p0/test_base_insert_job.groovy b/regression-test/suites/job_p0/test_base_insert_job.groovy index d66266d8d6f623..aad7edc04e580d 100644 --- a/regression-test/suites/job_p0/test_base_insert_job.groovy +++ b/regression-test/suites/job_p0/test_base_insert_job.groovy @@ -19,6 +19,8 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.Instant; import java.time.ZoneId; +import org.awaitility.Awaitility; +import static java.util.concurrent.TimeUnit.SECONDS; suite("test_base_insert_job") { def tableName = "t_test_BASE_inSert_job" @@ -70,7 +72,14 @@ suite("test_base_insert_job") { sql """ CREATE JOB ${jobName} ON SCHEDULE every 1 second comment 'test' DO insert into ${tableName} (timestamp, type, user_id) values ('2023-03-18','1','12213'); """ - Thread.sleep(2500) + Awaitility.await().atMost(30, SECONDS).until( + { + def onceJob = sql """ select SucceedTaskCount from jobs("type"="insert") where Name like '%${jobName}%' and ExecuteType='RECURRING' """ + println(onceJob) + onceJob .size() == 1 && '1' <= onceJob.get(0).get(0) + + } + ) sql """ PAUSE JOB where jobname = '${jobName}' """ @@ -116,8 +125,13 @@ suite("test_base_insert_job") { sql """ CREATE JOB ${jobName} ON SCHEDULE at current_timestamp comment 'test for test&68686781jbjbhj//ncsa' DO insert into ${tableName} values ('2023-07-19', 2, 1001); """ - - Thread.sleep(2000) + + Awaitility.await("create-one-time-job-test").atMost(30,SECONDS).until( + { + def onceJob = sql """ select SucceedTaskCount from jobs("type"="insert") where Name like '%${jobName}%' and ExecuteType='ONE_TIME' """ + onceJob.size() == 1 && '1' == onceJob.get(0).get(0) + } + ) def onceJob = sql """ select SucceedTaskCount from jobs("type"="insert") where Name like '%${jobName}%' and ExecuteType='ONE_TIME' """ assert onceJob.size() == 1 //check succeed task count @@ -142,9 +156,12 @@ suite("test_base_insert_job") { sql """ CREATE JOB press ON SCHEDULE every 10 hour starts CURRENT_TIMESTAMP comment 'test for test&68686781jbjbhj//ncsa' DO insert into ${tableName} values ('2023-07-19', 99, 99); """ - Thread.sleep(5000) - def pressJob = sql """ select * from jobs("type"="insert") where name='press' """ - println pressJob + Awaitility.await("create-immediately-job-test").atMost(60, SECONDS).until({ + def pressJob = sql """ select SucceedTaskCount from jobs("type"="insert") where name='press'""" + println pressJob + pressJob.size() == 1 && '1' == onceJob.get(0).get(0) + }) + sql """ DROP JOB IF EXISTS where jobname = 'past_start_time' """ @@ -167,7 +184,11 @@ suite("test_base_insert_job") { CREATE JOB ${jobName} ON SCHEDULE every 1 second starts current_timestamp comment 'test for test&68686781jbjbhj//ncsa' DO insert into ${tableName} values ('2023-07-19',5, 1001); """ - Thread.sleep(2000) + Awaitility.await("create-job-test").atMost(60, SECONDS).until({ + def job = sql """ select SucceedTaskCount from jobs("type"="insert") where name='${jobName}'""" + println job + job.size() == 1 && '1' == job.get(0).get(0) + }) sql """ PAUSE JOB where jobname = '${jobName}' @@ -176,10 +197,13 @@ suite("test_base_insert_job") { sql """ RESUME JOB where jobname = '${jobName}' """ - Thread.sleep(2500) - def afterResumeTasks = sql """ select status from tasks("type"="insert") where JobName= '${jobName}' """ - println afterResumeTasks - assert afterResumeTasks.size() >tasks.size + println(tasks.size()) + Awaitility.await("resume-job-test").atMost(60, SECONDS).until({ + def afterResumeTasks = sql """ select status from tasks("type"="insert") where JobName= '${jobName}' """ + println "resume tasks :"+afterResumeTasks + afterResumeTasks.size() >tasks.size() + }) + // assert same job name try { sql """