This is an automated email from the ASF dual-hosted git repository.
dataroaring 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 9c4ebeb7adf [Enhancement]use awaitility.await() in schema testcases
#37817 (#38869)
9c4ebeb7adf is described below
commit 9c4ebeb7adf8c1c40b39189b2572433cb1c3c610
Author: Vallish Pai <[email protected]>
AuthorDate: Wed Aug 21 12:32:53 2024 +0530
[Enhancement]use awaitility.await() in schema testcases #37817 (#38869)
## Proposed changes
Issue Number: close #xxx
#37817
use awaitility.await() in schema testcases(part2)
Co-authored-by: Xinyi Zou <[email protected]>
---
.../test_dup_keys_schema_change.groovy | 27 ++++++--------
.../test_dup_mv_schema_change.groovy | 23 +++++-------
.../test_dup_rollup_schema_change.groovy | 23 +++++-------
.../test_dup_vals_schema_change.groovy | 10 ++---
.../test_uniq_keys_schema_change.groovy | 10 ++---
.../test_uniq_mv_schema_change.groovy | 26 ++++++-------
.../test_uniq_rollup_schema_change.groovy | 43 +++++++++-------------
.../test_uniq_vals_schema_change.groovy | 9 ++---
8 files changed, 71 insertions(+), 100 deletions(-)
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 336805df29a..19b1c96ce4b 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
@@ -16,6 +16,8 @@
// under the License.
import org.codehaus.groovy.runtime.IOGroovyMethods
+import java.util.concurrent.TimeUnit
+import org.awaitility.Awaitility
suite ("test_dup_keys_schema_change") {
def tableName = "schema_change_dup_keys_regression_test"
@@ -98,20 +100,15 @@ suite ("test_dup_keys_schema_change") {
sql """
ALTER TABLE ${tableName} DROP COLUMN sex
"""
- int max_try_time = 3000
- while (max_try_time--){
+ int max_try_time = 300
+ Awaitility.await().atMost(max_try_time,
TimeUnit.SECONDS).with().pollDelay(100, TimeUnit.MILLISECONDS).await().until(()
-> {
String result = getJobState(tableName)
if (result == "FINISHED") {
- sleep(3000)
- break
- } else {
- sleep(100)
- if (max_try_time < 1){
- assertEquals(1,2)
- }
+ return true;
}
- }
- Thread.sleep(1000)
+ return false;
+ });
+
qt_sc """ select * from ${tableName} where user_id = 3 order by
new_column """
@@ -154,9 +151,7 @@ suite ("test_dup_keys_schema_change") {
// wait for all compactions done
for (String[] tablet in tablets) {
- boolean running = true
- do {
- Thread.sleep(100)
+ Awaitility.await().untilAsserted(() -> {
String tablet_id = tablet[0]
backend_id = tablet[2]
(code, out, err) =
be_get_compaction_status(backendId_to_backendIP.get(backend_id),
backendId_to_backendHttpPort.get(backend_id), tablet_id)
@@ -164,8 +159,8 @@ suite ("test_dup_keys_schema_change") {
assertEquals(code, 0)
def compactionStatus = parseJson(out.trim())
assertEquals("success",
compactionStatus.status.toLowerCase())
- running = compactionStatus.run_status
- } while (running)
+ return compactionStatus.run_status;
+ });
}
qt_sc """ select count(*) from ${tableName} """
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 e09da2af730..2896470e2a9 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
@@ -16,6 +16,8 @@
// under the License.
import org.codehaus.groovy.runtime.IOGroovyMethods
+import java.util.concurrent.TimeUnit
+import org.awaitility.Awaitility
suite ("test_dup_mv_schema_change") {
def tableName = "schema_change_dup_mv_regression_test"
@@ -25,18 +27,13 @@ suite ("test_dup_mv_schema_change") {
}
def waitForJob = (tbName, timeout) -> {
- while (timeout--){
+ Awaitility.await().atMost(timeout,
TimeUnit.SECONDS).with().pollDelay(100, TimeUnit.MILLISECONDS).await().until(()
-> {
String result = getJobState(tbName)
if (result == "FINISHED") {
- sleep(3000)
- break
- } else {
- sleep(100)
- if (timeout < 1){
- assertEquals(1,2)
- }
+ return true;
}
- }
+ return false;
+ });
}
try {
String backend_id;
@@ -164,9 +161,7 @@ suite ("test_dup_mv_schema_change") {
// wait for all compactions done
for (String[] tablet in tablets) {
- boolean running = true
- do {
- Thread.sleep(100)
+ Awaitility.await().untilAsserted(() -> {
String tablet_id = tablet[0]
backend_id = tablet[2]
(code, out, err) =
be_get_compaction_status(backendId_to_backendIP.get(backend_id),
backendId_to_backendHttpPort.get(backend_id), tablet_id)
@@ -174,8 +169,8 @@ suite ("test_dup_mv_schema_change") {
assertEquals(code, 0)
def compactionStatus = parseJson(out.trim())
assertEquals("success",
compactionStatus.status.toLowerCase())
- running = compactionStatus.run_status
- } while (running)
+ return compactionStatus.run_status;
+ });
}
qt_sc """ select count(*) from ${tableName} """
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 eea771d400c..b97f8c78b6f 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
@@ -16,6 +16,8 @@
// under the License.
import org.codehaus.groovy.runtime.IOGroovyMethods
+import java.util.concurrent.TimeUnit
+import org.awaitility.Awaitility
suite ("test_dup_rollup_schema_change") {
def getMVJobState = { tableName ->
@@ -27,18 +29,13 @@ suite ("test_dup_rollup_schema_change") {
return jobStateResult[0][9]
}
def waitForMVJob = (tbName, timeout) -> {
- while (timeout--){
+ Awaitility.await().atMost(timeout,
TimeUnit.SECONDS).with().pollDelay(100, TimeUnit.MILLISECONDS).await().until(()
-> {
String result = getMVJobState(tbName)
if (result == "FINISHED") {
- sleep(3000)
- break
- } else {
- sleep(100)
- if (timeout < 1){
- assertEquals(1,2)
- }
+ return true;
}
- }
+ return false;
+ });
}
def tableName = "schema_change_dup_rollup_regression_test"
@@ -182,9 +179,7 @@ suite ("test_dup_rollup_schema_change") {
// wait for all compactions done
for (String[] tablet in tablets) {
- boolean running = true
- do {
- Thread.sleep(100)
+ Awaitility.await().untilAsserted(() -> {
String tablet_id = tablet[0]
backend_id = tablet[2]
(code, out, err) =
be_get_compaction_status(backendId_to_backendIP.get(backend_id),
backendId_to_backendHttpPort.get(backend_id), tablet_id)
@@ -192,8 +187,8 @@ suite ("test_dup_rollup_schema_change") {
assertEquals(code, 0)
def compactionStatus = parseJson(out.trim())
assertEquals("success",
compactionStatus.status.toLowerCase())
- running = compactionStatus.run_status
- } while (running)
+ return compactionStatus.run_status;
+ });
}
qt_sc """ select count(*) from ${tableName} """
diff --git
a/regression-test/suites/schema_change_p0/test_dup_vals_schema_change.groovy
b/regression-test/suites/schema_change_p0/test_dup_vals_schema_change.groovy
index c73d13d0720..db5c4bbd869 100644
--- a/regression-test/suites/schema_change_p0/test_dup_vals_schema_change.groovy
+++ b/regression-test/suites/schema_change_p0/test_dup_vals_schema_change.groovy
@@ -16,6 +16,8 @@
// under the License.
import org.codehaus.groovy.runtime.IOGroovyMethods
+import java.util.concurrent.TimeUnit
+import org.awaitility.Awaitility
suite ("test_dup_vals_schema_change") {
def tableName = "schema_change_dup_vals_regression_test"
@@ -137,9 +139,7 @@ suite ("test_dup_vals_schema_change") {
// wait for all compactions done
for (String[] tablet in tablets) {
- boolean running = true
- do {
- Thread.sleep(100)
+ Awaitility.await().untilAsserted(() -> {
String tablet_id = tablet[0]
backend_id = tablet[2]
(code, out, err) =
be_get_compaction_status(backendId_to_backendIP.get(backend_id),
backendId_to_backendHttpPort.get(backend_id), tablet_id)
@@ -147,8 +147,8 @@ suite ("test_dup_vals_schema_change") {
assertEquals(code, 0)
def compactionStatus = parseJson(out.trim())
assertEquals("success",
compactionStatus.status.toLowerCase())
- running = compactionStatus.run_status
- } while (running)
+ return compactionStatus.run_status;
+ });
}
qt_sc """ select count(*) from ${tableName} """
diff --git
a/regression-test/suites/schema_change_p0/test_uniq_keys_schema_change.groovy
b/regression-test/suites/schema_change_p0/test_uniq_keys_schema_change.groovy
index e06c27b8abf..856f49acd2b 100644
---
a/regression-test/suites/schema_change_p0/test_uniq_keys_schema_change.groovy
+++
b/regression-test/suites/schema_change_p0/test_uniq_keys_schema_change.groovy
@@ -16,6 +16,8 @@
// under the License.
import org.codehaus.groovy.runtime.IOGroovyMethods
+import java.util.concurrent.TimeUnit
+import org.awaitility.Awaitility
suite ("test_uniq_keys_schema_change") {
def tableName = "schema_change_uniq_keys_regression_test"
@@ -132,9 +134,7 @@ suite ("test_uniq_keys_schema_change") {
// wait for all compactions done
for (String[] tablet in tablets) {
- boolean running = true
- do {
- Thread.sleep(100)
+ Awaitility.await().untilAsserted(() -> {
String tablet_id = tablet[0]
backend_id = tablet[2]
(code, out, err) =
be_get_compaction_status(backendId_to_backendIP.get(backend_id),
backendId_to_backendHttpPort.get(backend_id), tablet_id)
@@ -142,8 +142,8 @@ suite ("test_uniq_keys_schema_change") {
assertEquals(code, 0)
def compactionStatus = parseJson(out.trim())
assertEquals("success",
compactionStatus.status.toLowerCase())
- running = compactionStatus.run_status
- } while (running)
+ return compactionStatus.run_status;
+ });
}
qt_sc """ select count(*) from ${tableName} """
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 25230721047..54a790248b3 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
@@ -16,6 +16,8 @@
// under the License.
import org.codehaus.groovy.runtime.IOGroovyMethods
+import java.util.concurrent.TimeUnit
+import org.awaitility.Awaitility
suite ("test_uniq_mv_schema_change") {
def tableName = "schema_change_uniq_mv_regression_test"
@@ -24,18 +26,14 @@ suite ("test_uniq_mv_schema_change") {
return jobStateResult[0][8]
}
def waitForJob = (tbName, timeout) -> {
- while (timeout--){
+ Awaitility.await().atMost(timeout,
TimeUnit.SECONDS).with().pollDelay(100, TimeUnit.MILLISECONDS).await().until(()
-> {
String result = getMVJobState(tbName)
if (result == "FINISHED") {
- sleep(3000)
- break
- } else {
- sleep(100)
- if (timeout < 1){
- assertEquals(1,2)
- }
- }
- }
+ return true;
+ }
+ return false;
+ });
+ // when timeout awaitlity will raise a exception.
}
try {
@@ -179,9 +177,7 @@ suite ("test_uniq_mv_schema_change") {
// wait for all compactions done
for (String[] tablet in tablets) {
- boolean running = true
- do {
- Thread.sleep(100)
+ Awaitility.await().untilAsserted(() -> {
String tablet_id = tablet[0]
backend_id = tablet[2]
(code, out, err) =
be_get_compaction_status(backendId_to_backendIP.get(backend_id),
backendId_to_backendHttpPort.get(backend_id), tablet_id)
@@ -189,8 +185,8 @@ suite ("test_uniq_mv_schema_change") {
assertEquals(code, 0)
def compactionStatus = parseJson(out.trim())
assertEquals("success", compactionStatus.status.toLowerCase())
- running = compactionStatus.run_status
- } while (running)
+ return compactionStatus.run_status;
+ });
}
qt_sc """ select count(*) from ${tableName} """
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 06fa33ac1cf..1b82e913e05 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
@@ -16,6 +16,8 @@
// under the License.
import org.codehaus.groovy.runtime.IOGroovyMethods
+import java.util.concurrent.TimeUnit
+import org.awaitility.Awaitility
suite ("test_uniq_rollup_schema_change") {
def tableName = "schema_change_uniq_rollup_regression_test"
@@ -28,18 +30,14 @@ suite ("test_uniq_rollup_schema_change") {
return jobStateResult[0][9]
}
def waitForMVJob = (tbName, timeout) -> {
- while (timeout--){
+ Awaitility.await().atMost(timeout,
TimeUnit.SECONDS).with().pollDelay(100, TimeUnit.MILLISECONDS).await().until(()
-> {
String result = getMVJobState(tbName)
if (result == "FINISHED") {
- sleep(3000)
- break
- } else {
- sleep(100)
- if (timeout < 1){
- assertEquals(1,2)
- }
- }
- }
+ return true;
+ }
+ return false;
+ });
+ // when timeout awaitlity will raise a exception.
}
try {
@@ -79,7 +77,7 @@ suite ("test_uniq_rollup_schema_change") {
//add rollup
def rollupName = "rollup_cost"
sql "ALTER TABLE ${tableName} ADD ROLLUP
${rollupName}(`user_id`,`date`,`city`,`sex`, `age`,`cost`);"
- waitForMVJob(tableName, 3000)
+ waitForMVJob(tableName, 300)
sql """ INSERT INTO ${tableName} VALUES
(2, '2017-10-01', 'Beijing', 10, 1, '2020-01-02', '2020-01-02',
'2020-01-02', 1, 31, 21)
@@ -133,19 +131,14 @@ suite ("test_uniq_rollup_schema_change") {
ALTER TABLE ${tableName} DROP COLUMN cost
"""
- max_try_time = 3000
- while (max_try_time--){
+ max_try_time = 300
+ Awaitility.await().atMost(max_try_time,
TimeUnit.SECONDS).with().pollDelay(100, TimeUnit.MILLISECONDS).await().until(()
-> {
String result = getJobState(tableName)
if (result == "FINISHED") {
- sleep(3000)
- break
- } else {
- sleep(100)
- if (max_try_time < 1){
- assertEquals(1,2)
- }
+ return true;
}
- }
+ return false;
+ });
qt_sc """ select * from ${tableName} where user_id = 3 """
@@ -187,9 +180,7 @@ suite ("test_uniq_rollup_schema_change") {
// wait for all compactions done
for (String[] tablet in tablets) {
- boolean running = true
- do {
- Thread.sleep(100)
+ Awaitility.await().untilAsserted(() -> {
String tablet_id = tablet[0]
backend_id = tablet[2]
(code, out, err) =
be_get_compaction_status(backendId_to_backendIP.get(backend_id),
backendId_to_backendHttpPort.get(backend_id), tablet_id)
@@ -197,8 +188,8 @@ suite ("test_uniq_rollup_schema_change") {
assertEquals(code, 0)
def compactionStatus = parseJson(out.trim())
assertEquals("success", compactionStatus.status.toLowerCase())
- running = compactionStatus.run_status
- } while (running)
+ return compactionStatus.run_status;
+ });
}
qt_sc """ select count(*) from ${tableName} """
diff --git
a/regression-test/suites/schema_change_p0/test_uniq_vals_schema_change.groovy
b/regression-test/suites/schema_change_p0/test_uniq_vals_schema_change.groovy
index 016aedb1644..7dc530cecb8 100644
---
a/regression-test/suites/schema_change_p0/test_uniq_vals_schema_change.groovy
+++
b/regression-test/suites/schema_change_p0/test_uniq_vals_schema_change.groovy
@@ -16,6 +16,7 @@
// under the License.
import org.codehaus.groovy.runtime.IOGroovyMethods
+import org.awaitility.Awaitility
suite ("test_uniq_vals_schema_change") {
def tableName = "schema_change_uniq_vals_regression_test"
@@ -141,9 +142,7 @@ suite ("test_uniq_vals_schema_change") {
// wait for all compactions done
for (String[] tablet in tablets) {
- boolean running = true
- do {
- Thread.sleep(100)
+ Awaitility.await().untilAsserted(() -> {
String tablet_id = tablet[0]
backend_id = tablet[2]
(code, out, err) =
be_get_compaction_status(backendId_to_backendIP.get(backend_id),
backendId_to_backendHttpPort.get(backend_id), tablet_id)
@@ -151,8 +150,8 @@ suite ("test_uniq_vals_schema_change") {
assertEquals(code, 0)
def compactionStatus = parseJson(out.trim())
assertEquals("success",
compactionStatus.status.toLowerCase())
- running = compactionStatus.run_status
- } while (running)
+ return compactionStatus.run_status;
+ });
}
qt_sc """ select count(*) from ${tableName} """
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]