This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 5b13d739ee5 Refactor NativeStorageContainer (#36656)
5b13d739ee5 is described below
commit 5b13d739ee5a0c2c8a1c4afddbd48f7d213090ce
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Sep 21 17:30:57 2025 +0800
Refactor NativeStorageContainer (#36656)
---
.../e2e/agent/engine/env/AgentE2ETestEnvironment.java | 15 +++++++--------
.../container/storage/type/NativeStorageContainer.java | 4 +---
2 files changed, 8 insertions(+), 11 deletions(-)
diff --git
a/test/e2e/agent/engine/src/test/java/org/apache/shardingsphere/test/e2e/agent/engine/env/AgentE2ETestEnvironment.java
b/test/e2e/agent/engine/src/test/java/org/apache/shardingsphere/test/e2e/agent/engine/env/AgentE2ETestEnvironment.java
index c04b6f1c59e..f925b9d56e8 100644
---
a/test/e2e/agent/engine/src/test/java/org/apache/shardingsphere/test/e2e/agent/engine/env/AgentE2ETestEnvironment.java
+++
b/test/e2e/agent/engine/src/test/java/org/apache/shardingsphere/test/e2e/agent/engine/env/AgentE2ETestEnvironment.java
@@ -98,11 +98,12 @@ public final class AgentE2ETestEnvironment {
if (!AgentE2ETestConfiguration.getInstance().containsTestParameter()) {
return;
}
+ StorageContainerOption storageContainerOption =
DatabaseTypedSPILoader.getService(StorageContainerOption.class, databaseType);
Optional<DockerITContainer> agentPluginContainer =
TypedSPILoader.findService(AgentPluginContainerFactory.class,
testConfig.getPluginType()).map(AgentPluginContainerFactory::create);
if
(AdapterType.PROXY.getValue().equalsIgnoreCase(testConfig.getAdapter())) {
- createProxyEnvironment(agentPluginContainer.orElse(null));
+ createProxyEnvironment(storageContainerOption,
agentPluginContainer.orElse(null));
} else if
(AdapterType.JDBC.getValue().equalsIgnoreCase(testConfig.getAdapter())) {
- createJDBCEnvironment(agentPluginContainer.orElse(null));
+ createJDBCEnvironment(storageContainerOption,
agentPluginContainer.orElse(null));
}
log.info("Waiting to collect data ...");
long collectDataWaitSeconds = testConfig.getCollectDataWaitSeconds();
@@ -113,12 +114,11 @@ public final class AgentE2ETestEnvironment {
initialized = true;
}
- private void createProxyEnvironment(final DockerITContainer
agentPluginContainer) {
+ private void createProxyEnvironment(final StorageContainerOption
storageContainerOption, final DockerITContainer agentPluginContainer) {
containers = new ITContainers(null);
ShardingSphereProxyDockerContainer proxyContainer = new
ShardingSphereProxyDockerContainer(databaseType,
getAdaptorContainerConfiguration());
proxyContainer.withLogConsumer(testConfig.isLogEnabled() ?
this::collectLogs : null);
- StorageContainer storageContainer = new DockerStorageContainer(
- imageConfig.getMysqlImage(),
DatabaseTypedSPILoader.getService(StorageContainerOption.class, databaseType),
null);
+ StorageContainer storageContainer = new
DockerStorageContainer(imageConfig.getMysqlImage(), storageContainerOption,
null);
proxyContainer.dependsOn(storageContainer);
containers.registerContainer(storageContainer);
GovernanceContainer governanceContainer = new
GovernanceContainer(TypedSPILoader.getService(GovernanceContainerOption.class,
"ZooKeeper"));
@@ -147,10 +147,9 @@ public final class AgentE2ETestEnvironment {
return new AdaptorContainerConfiguration("sharding_db",
Collections.emptyList(), mountedResources, imageConfig.getProxyImage(), "");
}
- private void createJDBCEnvironment(final DockerITContainer
agentPluginContainer) {
+ private void createJDBCEnvironment(final StorageContainerOption
storageContainerOption, final DockerITContainer agentPluginContainer) {
containers = new ITContainers(null);
- StorageContainer storageContainer = new DockerStorageContainer(
- imageConfig.getMysqlImage(),
DatabaseTypedSPILoader.getService(StorageContainerOption.class, databaseType),
null);
+ StorageContainer storageContainer = new
DockerStorageContainer(imageConfig.getMysqlImage(), storageContainerOption,
null);
ShardingSphereJdbcAgentContainer jdbcAgentContainer = new
ShardingSphereJdbcAgentContainer(
imageConfig.getJdbcProjectImage(), testConfig.getPluginType(),
testConfig.isLogEnabled() ? this::collectLogs : null);
jdbcAgentContainer.dependsOn(storageContainer);
diff --git
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/type/NativeStorageContainer.java
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/type/NativeStorageContainer.java
index f5507421597..18a805d8db4 100644
---
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/type/NativeStorageContainer.java
+++
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/type/NativeStorageContainer.java
@@ -24,7 +24,6 @@ import
org.apache.shardingsphere.database.connector.core.type.DatabaseType;
import
org.apache.shardingsphere.test.e2e.env.container.constants.StorageContainerConstants;
import
org.apache.shardingsphere.test.e2e.env.container.storage.StorageContainer;
import
org.apache.shardingsphere.test.e2e.env.container.storage.mount.MountSQLResourceGenerator;
-import
org.apache.shardingsphere.test.e2e.env.container.storage.option.StorageContainerConnectOption;
import
org.apache.shardingsphere.test.e2e.env.container.storage.option.StorageContainerOption;
import org.apache.shardingsphere.test.e2e.env.container.util.SQLScriptUtils;
import
org.apache.shardingsphere.test.e2e.env.container.util.StorageContainerUtils;
@@ -77,8 +76,7 @@ public final class NativeStorageContainer implements
StorageContainer {
private void initDatabase() {
if (null != option) {
- StorageContainerConnectOption storageContainerConnectOption =
DatabaseTypedSPILoader.getService(StorageContainerOption.class,
databaseType).getConnectOption();
- DataSource dataSource =
StorageContainerUtils.generateDataSource(storageContainerConnectOption.getURL(env.getHost(),
env.getPort()), env.getUser(), env.getPassword(), 2);
+ DataSource dataSource =
StorageContainerUtils.generateDataSource(option.getConnectOption().getURL(env.getHost(),
env.getPort()), env.getUser(), env.getPassword(), 2);
new MountSQLResourceGenerator(option.getType(),
option.getCreateOption()).generate(0, scenario).keySet().forEach(each ->
SQLScriptUtils.execute(dataSource, each));
}
}