You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2023/06/28 01:46:28 UTC
[shardingsphere] branch master updated: Use Awaitility replace sleep at CDC E2E (#26636)
This is an automated email from the ASF dual-hosted git repository.
zhonghongsheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 1b105bc1c02 Use Awaitility replace sleep at CDC E2E (#26636)
1b105bc1c02 is described below
commit 1b105bc1c02a594728cf35bf190e19c901bda568
Author: Xinze Guo <10...@users.noreply.github.com>
AuthorDate: Wed Jun 28 09:46:21 2023 +0800
Use Awaitility replace sleep at CDC E2E (#26636)
* Use Awaitility replace sleep at CDC E2E
* increment max wait time
---
.../e2e/data/pipeline/cases/PipelineContainerComposer.java | 13 +++++++++++--
.../test/e2e/data/pipeline/cases/cdc/CDCE2EIT.java | 2 ++
.../pipeline/cases/migration/AbstractMigrationE2EIT.java | 9 ++++-----
3 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/PipelineContainerComposer.java b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/PipelineContainerComposer.java
index 7ba21cb53d3..c1c5349bddf 100644
--- a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/PipelineContainerComposer.java
+++ b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/PipelineContainerComposer.java
@@ -226,7 +226,7 @@ public final class PipelineContainerComposer implements AutoCloseable {
.replace("${user}", getUsername())
.replace("${password}", getPassword())
.replace("${url}", getActualJdbcUrlTemplate(storageUnitName, true));
- proxyExecuteWithLog(registerStorageUnitTemplate, 2);
+ proxyExecuteWithLog(registerStorageUnitTemplate, 1);
}
/**
@@ -235,11 +235,20 @@ public final class PipelineContainerComposer implements AutoCloseable {
* @param distSQL dist SQL
* @throws SQLException SQL exception
*/
- // TODO Use registerStorageUnit instead, and remove the method
+ // TODO Use registerStorageUnit instead, and remove the method, keep it now
public void addResource(final String distSQL) throws SQLException {
proxyExecuteWithLog(distSQL, 2);
}
+ /**
+ * Show storage units names.
+ *
+ * @return storage units names
+ */
+ public List<String> showStorageUnitsName() {
+ return queryForListWithLog(proxyDataSource, "SHOW STORAGE UNITS").stream().map(each -> String.valueOf(each.get("name"))).collect(Collectors.toList());
+ }
+
/**
* Get actual JDBC URL template.
*
diff --git a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/cdc/CDCE2EIT.java b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/cdc/CDCE2EIT.java
index cf7762eda10..4aeacfff4e6 100644
--- a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/cdc/CDCE2EIT.java
+++ b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/cdc/CDCE2EIT.java
@@ -105,6 +105,8 @@ class CDCE2EIT {
for (String each : Arrays.asList(PipelineContainerComposer.DS_0, PipelineContainerComposer.DS_1)) {
containerComposer.registerStorageUnit(each);
}
+ Awaitility.await().atMost(10L, TimeUnit.SECONDS).pollInterval(1, TimeUnit.SECONDS).until(() -> containerComposer.showStorageUnitsName()
+ .containsAll(Arrays.asList(PipelineContainerComposer.DS_0, PipelineContainerComposer.DS_1)));
createOrderTableRule(containerComposer);
try (Connection connection = containerComposer.getProxyDataSource().getConnection()) {
initSchemaAndTable(containerComposer, connection, 3);
diff --git a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/migration/AbstractMigrationE2EIT.java b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/migration/AbstractMigrationE2EIT.java
index b94d735be28..2750dc6850f 100644
--- a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/migration/AbstractMigrationE2EIT.java
+++ b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/migration/AbstractMigrationE2EIT.java
@@ -61,10 +61,10 @@ public abstract class AbstractMigrationE2EIT {
log.warn("Drop sharding_db failed, maybe it's not exist. error msg={}", ex.getMessage());
}
}
- String addSourceResource = migrationDistSQL.getRegisterMigrationSourceStorageUnitTemplate().replace("${user}", containerComposer.getUsername())
+ String registerMigrationSource = migrationDistSQL.getRegisterMigrationSourceStorageUnitTemplate().replace("${user}", containerComposer.getUsername())
.replace("${password}", containerComposer.getPassword())
.replace("${ds0}", containerComposer.getActualJdbcUrlTemplate(PipelineContainerComposer.DS_0, true));
- containerComposer.addResource(addSourceResource);
+ containerComposer.proxyExecuteWithLog(registerMigrationSource, 0);
}
protected void addMigrationTargetResource(final PipelineContainerComposer containerComposer) throws SQLException {
@@ -73,9 +73,8 @@ public abstract class AbstractMigrationE2EIT {
.replace("${ds2}", containerComposer.getActualJdbcUrlTemplate(PipelineContainerComposer.DS_2, true))
.replace("${ds3}", containerComposer.getActualJdbcUrlTemplate(PipelineContainerComposer.DS_3, true))
.replace("${ds4}", containerComposer.getActualJdbcUrlTemplate(PipelineContainerComposer.DS_4, true));
- containerComposer.addResource(addTargetResource);
- List<Map<String, Object>> resources = containerComposer.queryForListWithLog("SHOW STORAGE UNITS from sharding_db");
- assertThat(resources.size(), is(3));
+ containerComposer.proxyExecuteWithLog(addTargetResource, 0);
+ Awaitility.await().atMost(5L, TimeUnit.SECONDS).pollInterval(500L, TimeUnit.MILLISECONDS).until(() -> 3 == containerComposer.showStorageUnitsName().size());
}
protected void createSourceSchema(final PipelineContainerComposer containerComposer, final String schemaName) throws SQLException {