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 3df4a208ce0 Enable cdc e2e (#28854)
3df4a208ce0 is described below
commit 3df4a208ce0d3888a650136cb30e2e9570b14cbe
Author: Xinze Guo <[email protected]>
AuthorDate: Tue Oct 24 20:54:19 2023 +0800
Enable cdc e2e (#28854)
---
.../e2e/data/pipeline/cases/PipelineContainerComposer.java | 2 +-
.../test/e2e/data/pipeline/cases/cdc/CDCE2EIT.java | 11 ++---------
.../operation/pipeline/src/test/resources/logback-test.xml | 2 +-
3 files changed, 4 insertions(+), 11 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 fa86987e489..bc73fafdeb4 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
@@ -561,7 +561,7 @@ public final class PipelineContainerComposer implements
AutoCloseable {
*/
// TODO proxy support for some fields still needs to be optimized, such as
binary of MySQL, after these problems are optimized, Proxy dataSource can be
used.
public DataSource generateShardingSphereDataSourceFromProxy() {
- Awaitility.await().atMost(5L, TimeUnit.SECONDS).pollInterval(1L,
TimeUnit.SECONDS).until(() -> null != getYamlRootConfig().getRules());
+ Awaitility.await().atMost(10L, TimeUnit.SECONDS).pollInterval(1L,
TimeUnit.SECONDS).until(() -> null != getYamlRootConfig().getRules());
YamlRootConfiguration rootConfig = getYamlRootConfig();
ShardingSpherePreconditions.checkNotNull(rootConfig.getDataSources(),
() -> new IllegalStateException("dataSources is null"));
ShardingSpherePreconditions.checkNotNull(rootConfig.getRules(), () ->
new IllegalStateException("rules is null"));
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 c4d2337a2f5..5f586cc8d4b 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
@@ -44,8 +44,6 @@ import
org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.sharding.algorithm.keygen.SnowflakeKeyGenerateAlgorithm;
import
org.apache.shardingsphere.test.e2e.data.pipeline.cases.PipelineContainerComposer;
import
org.apache.shardingsphere.test.e2e.data.pipeline.cases.task.E2EIncrementalTask;
-import
org.apache.shardingsphere.test.e2e.data.pipeline.env.PipelineE2EEnvironment;
-import
org.apache.shardingsphere.test.e2e.data.pipeline.env.enums.PipelineEnvTypeEnum;
import
org.apache.shardingsphere.test.e2e.data.pipeline.framework.helper.PipelineCaseHelper;
import
org.apache.shardingsphere.test.e2e.data.pipeline.framework.param.PipelineE2ECondition;
import
org.apache.shardingsphere.test.e2e.data.pipeline.framework.param.PipelineE2ESettings;
@@ -54,7 +52,6 @@ import
org.apache.shardingsphere.test.e2e.data.pipeline.framework.param.Pipeline
import
org.apache.shardingsphere.test.e2e.data.pipeline.framework.param.PipelineTestParameter;
import
org.apache.shardingsphere.test.e2e.data.pipeline.util.DataSourceExecuteUtils;
import
org.apache.shardingsphere.test.e2e.env.container.atomic.constants.ProxyContainerConstants;
-import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.condition.EnabledIf;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ArgumentsSource;
@@ -80,7 +77,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* CDC E2E IT.
*/
-@Disabled("TODO Enable MySQL after compatible with
com.mysql:mysql-connector-j:8.0")
@PipelineE2ESettings(database = {
@PipelineE2EDatabaseSettings(type = "MySQL", scenarioFiles =
"env/scenario/general/mysql.xml"),
@PipelineE2EDatabaseSettings(type = "PostgreSQL", scenarioFiles =
"env/scenario/general/postgresql.xml"),
@@ -101,10 +97,7 @@ class CDCE2EIT {
@EnabledIf("isEnabled")
@ArgumentsSource(PipelineE2ETestCaseArgumentsProvider.class)
void assertCDCDataImportSuccess(final PipelineTestParameter testParam)
throws SQLException, InterruptedException {
- if (TimeZone.getDefault() != TimeZone.getTimeZone("UTC") &&
PipelineEnvTypeEnum.DOCKER ==
PipelineE2EEnvironment.getInstance().getItEnvType()) {
- // make sure the time zone of locally running program same with
the database server at CI.
- TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
- }
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
try (PipelineContainerComposer containerComposer = new
PipelineContainerComposer(testParam, new CDCJobType())) {
for (String each : Arrays.asList(PipelineContainerComposer.DS_0,
PipelineContainerComposer.DS_1)) {
containerComposer.registerStorageUnit(each);
@@ -113,7 +106,7 @@ class CDCE2EIT {
try (Connection connection =
containerComposer.getProxyDataSource().getConnection()) {
initSchemaAndTable(containerComposer, connection, 3);
}
- DataSource dataSource = containerComposer.getProxyDataSource();
+ DataSource dataSource =
containerComposer.generateShardingSphereDataSourceFromProxy();
Pair<List<Object[]>, List<Object[]>> dataPair =
PipelineCaseHelper.generateFullInsertData(containerComposer.getDatabaseType(),
PipelineContainerComposer.TABLE_INIT_ROW_COUNT);
log.info("init data begin: {}", LocalDateTime.now());
DataSourceExecuteUtils.execute(dataSource,
containerComposer.getExtraSQLCommand().getFullInsertOrder(SOURCE_TABLE_NAME),
dataPair.getLeft());
diff --git a/test/e2e/operation/pipeline/src/test/resources/logback-test.xml
b/test/e2e/operation/pipeline/src/test/resources/logback-test.xml
index 32f24684b39..dcfb0148597 100644
--- a/test/e2e/operation/pipeline/src/test/resources/logback-test.xml
+++ b/test/e2e/operation/pipeline/src/test/resources/logback-test.xml
@@ -31,4 +31,4 @@
<root level="INFO">
<appender-ref ref="console" />
</root>
-</configuration>
+</configuration>