This is an automated email from the ASF dual-hosted git repository.

panjuan 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 b9dc6ca  Use mode on scaling (#11774)
b9dc6ca is described below

commit b9dc6ca5592e406d53a21591ef4e9b2d30ab3754
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Aug 12 17:40:59 2021 +0800

    Use mode on scaling (#11774)
    
    * For code format
    
    * Use mode on scaling
    
    * Fix test case
    
    * Fix test case
---
 .../src/main/resources/conf/server.yaml            | 10 ++++---
 .../impl/GovernanceBootstrapInitializer.java       | 14 ++++-----
 .../util/ServerConfigurationInitializer.java       |  2 +-
 .../src/main/resources/conf/server.yaml            | 10 ++++---
 .../scaling/web/HttpServerInitializerTest.java     |  4 +--
 .../src/test/resources/conf/server.yaml            | 10 ++++---
 .../scaling/core/api/ScalingAPIFactory.java        | 30 +++++++++-----------
 .../scaling/core/config/ServerConfiguration.java   |  4 +--
 .../yaml/ServerConfigurationYamlSwapper.java       |  9 +++---
 .../core/config/yaml/YamlServerConfiguration.java  |  4 +--
 .../api/impl/GovernanceRepositoryAPIImplTest.java  |  4 +--
 .../scaling/core/api/impl/ScalingAPIImplTest.java  |  4 +--
 .../yaml/ServerConfigurationYamlSwapperTest.java   | 33 ++++++++++++++--------
 .../scaling/core/job/FinishedCheckJobTest.java     |  4 +--
 .../scaling/core/job/ScalingJobTest.java           |  4 +--
 .../test/resources/docker/scaling/conf/server.yaml | 10 ++++---
 .../adapter/ShardingSphereAdapterContainer.java    |  9 +++---
 17 files changed, 88 insertions(+), 77 deletions(-)

diff --git 
a/shardingsphere-distribution/shardingsphere-scaling-distribution/src/main/resources/conf/server.yaml
 
b/shardingsphere-distribution/shardingsphere-scaling-distribution/src/main/resources/conf/server.yaml
index e282259..3c99740 100644
--- 
a/shardingsphere-distribution/shardingsphere-scaling-distribution/src/main/resources/conf/server.yaml
+++ 
b/shardingsphere-distribution/shardingsphere-scaling-distribution/src/main/resources/conf/server.yaml
@@ -20,8 +20,10 @@ scaling:
   blockQueueSize: 10000
   workerThread: 30
 
-#governance:
-#  registryCenter:
+#mode:
+#  type: Cluster
+#  repository:
 #    type: ZooKeeper
-#    namespace: governance_ds
-#    serverLists: localhost:2181
+#    props:
+#      namespace: governance_ds
+#      serverLists: localhost:2181
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
index f9582b7..d2666bb 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
@@ -21,14 +21,14 @@ import com.google.common.base.Preconditions;
 import 
org.apache.shardingsphere.governance.context.metadata.GovernanceMetaDataContexts;
 import 
org.apache.shardingsphere.governance.context.transaction.GovernanceTransactionContexts;
 import org.apache.shardingsphere.governance.core.registry.RegistryCenter;
-import 
org.apache.shardingsphere.governance.core.yaml.pojo.YamlGovernanceConfiguration;
-import 
org.apache.shardingsphere.governance.core.yaml.swapper.GovernanceConfigurationYamlSwapper;
 import 
org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration;
 import 
org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
 import 
org.apache.shardingsphere.infra.config.condition.PreConditionRuleConfiguration;
 import org.apache.shardingsphere.infra.context.metadata.MetaDataContexts;
 import 
org.apache.shardingsphere.infra.context.metadata.impl.StandardMetaDataContexts;
 import org.apache.shardingsphere.infra.mode.ShardingSphereMode;
+import 
org.apache.shardingsphere.infra.yaml.config.pojo.mode.YamlModeConfiguration;
+import 
org.apache.shardingsphere.infra.yaml.config.swapper.mode.ModeConfigurationYamlSwapper;
 import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
 import org.apache.shardingsphere.scaling.core.api.ScalingWorker;
 import org.apache.shardingsphere.scaling.core.config.ScalingContext;
@@ -75,15 +75,11 @@ public final class GovernanceBootstrapInitializer extends 
AbstractBootstrapIniti
         if (!scalingConfig.isPresent()) {
             return;
         }
-        // TODO fix scaling with gov config
-        Optional<YamlGovernanceConfiguration> governanceConfig = 
yamlConfig.getServerConfiguration().getRules().stream().filter(
-            each -> each instanceof YamlGovernanceConfiguration).map(each -> 
(YamlGovernanceConfiguration) each).findFirst();
-        Preconditions.checkState(governanceConfig.isPresent());
-        scalingConfig.ifPresent(optional -> 
initScalingDetails(governanceConfig.get(), optional));
+        scalingConfig.ifPresent(optional -> 
initScalingDetails(yamlConfig.getServerConfiguration().getMode(), optional));
     }
     
-    private void initScalingDetails(final YamlGovernanceConfiguration 
governanceConfig, final ServerConfiguration scalingConfig) {
-        scalingConfig.setGovernanceConfig(new 
GovernanceConfigurationYamlSwapper().swapToObject(governanceConfig));
+    private void initScalingDetails(final YamlModeConfiguration 
yamlModeConfig, final ServerConfiguration scalingConfig) {
+        scalingConfig.setModeConfiguration(new 
ModeConfigurationYamlSwapper().swapToObject(yamlModeConfig));
         ScalingContext.getInstance().init(scalingConfig);
         ScalingWorker.init();
     }
diff --git 
a/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/util/ServerConfigurationInitializer.java
 
b/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/util/ServerConfigurationInitializer.java
index 70d2b24..5e5ee39 100644
--- 
a/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/util/ServerConfigurationInitializer.java
+++ 
b/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/util/ServerConfigurationInitializer.java
@@ -49,7 +49,7 @@ public final class ServerConfigurationInitializer {
         File yamlFile = new File(Resources.getResource(SERVER_FILE).getPath());
         YamlServerConfiguration serverConfig = YamlEngine.unmarshal(yamlFile, 
YamlServerConfiguration.class);
         Preconditions.checkNotNull(serverConfig, "Server configuration file 
`%s` is invalid.", yamlFile.getName());
-        Preconditions.checkNotNull(serverConfig.getGovernance(), "Governance 
configuration is required.");
+        Preconditions.checkNotNull(serverConfig.getMode(), "Governance 
configuration is required.");
         ScalingContext.getInstance().init(new 
ServerConfigurationYamlSwapper().swapToObject(serverConfig));
     }
 }
diff --git 
a/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/resources/conf/server.yaml
 
b/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/resources/conf/server.yaml
index e282259..3c99740 100644
--- 
a/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/resources/conf/server.yaml
+++ 
b/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/resources/conf/server.yaml
@@ -20,8 +20,10 @@ scaling:
   blockQueueSize: 10000
   workerThread: 30
 
-#governance:
-#  registryCenter:
+#mode:
+#  type: Cluster
+#  repository:
 #    type: ZooKeeper
-#    namespace: governance_ds
-#    serverLists: localhost:2181
+#    props:
+#      namespace: governance_ds
+#      serverLists: localhost:2181
diff --git 
a/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/test/java/org/apache/shardingsphere/scaling/web/HttpServerInitializerTest.java
 
b/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/test/java/org/apache/shardingsphere/scaling/web/HttpServerInitializerTest.java
index 10a367e..7be905d 100644
--- 
a/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/test/java/org/apache/shardingsphere/scaling/web/HttpServerInitializerTest.java
+++ 
b/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/test/java/org/apache/shardingsphere/scaling/web/HttpServerInitializerTest.java
@@ -22,7 +22,7 @@ import io.netty.channel.ChannelPipeline;
 import io.netty.channel.socket.SocketChannel;
 import lombok.SneakyThrows;
 import 
org.apache.shardingsphere.governance.repository.api.config.RegistryCenterConfiguration;
-import 
org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration;
+import org.apache.shardingsphere.infra.mode.config.ModeConfiguration;
 import org.apache.shardingsphere.scaling.core.config.ScalingContext;
 import org.apache.shardingsphere.scaling.core.config.ServerConfiguration;
 import org.apache.shardingsphere.scaling.core.util.ReflectionUtil;
@@ -62,7 +62,7 @@ public final class HttpServerInitializerTest {
     
     private ServerConfiguration mockServerConfig() {
         ServerConfiguration result = new ServerConfiguration();
-        result.setGovernanceConfig(new GovernanceConfiguration(new 
RegistryCenterConfiguration("Zookeeper", "test", "localhost:2181", null), 
false));
+        result.setModeConfiguration(new ModeConfiguration("Cluster", new 
RegistryCenterConfiguration("Zookeeper", "test", "localhost:2181", null), 
false));
         return result;
     }
 }
diff --git 
a/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/test/resources/conf/server.yaml
 
b/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/test/resources/conf/server.yaml
index 14492bc..6b9311a 100644
--- 
a/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/test/resources/conf/server.yaml
+++ 
b/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/test/resources/conf/server.yaml
@@ -20,8 +20,10 @@ scaling:
   blockQueueSize: 10000
   workerThread: 30
 
-governance:
-  registryCenter:
+mode:
+  type: Cluster
+  repository:
     type: ZooKeeper
-    namespace: governance_ds
-    serverLists: localhost:2181
+    props:
+      namespace: governance_ds
+      serverLists: localhost:2181
diff --git 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/api/ScalingAPIFactory.java
 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/api/ScalingAPIFactory.java
index edc5bf6..d4d1437 100644
--- 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/api/ScalingAPIFactory.java
+++ 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/api/ScalingAPIFactory.java
@@ -29,9 +29,8 @@ import 
org.apache.shardingsphere.elasticjob.lite.lifecycle.api.JobStatisticsAPI;
 import org.apache.shardingsphere.elasticjob.reg.base.CoordinatorRegistryCenter;
 import 
org.apache.shardingsphere.elasticjob.reg.zookeeper.ZookeeperConfiguration;
 import 
org.apache.shardingsphere.elasticjob.reg.zookeeper.ZookeeperRegistryCenter;
-import 
org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
 import 
org.apache.shardingsphere.governance.repository.api.config.RegistryCenterConfiguration;
-import 
org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration;
+import 
org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.infra.spi.typed.TypedSPIRegistry;
 import 
org.apache.shardingsphere.scaling.core.api.impl.GovernanceRepositoryAPIImpl;
@@ -105,7 +104,8 @@ public final class ScalingAPIFactory {
     private static void checkServerConfig() {
         ServerConfiguration serverConfig = 
ScalingContext.getInstance().getServerConfig();
         Preconditions.checkNotNull(serverConfig, "Scaling server configuration 
is required.");
-        Preconditions.checkNotNull(serverConfig.getGovernanceConfig(), 
"Governance configuration is required.");
+        Preconditions.checkNotNull(serverConfig.getModeConfiguration(), "Mode 
configuration is required.");
+        
Preconditions.checkArgument("Cluster".equals(serverConfig.getModeConfiguration().getType()),
 "Mode must be `Cluster`.");
     }
     
     private static final class ScalingAPIHolder {
@@ -146,10 +146,9 @@ public final class ScalingAPIFactory {
         
         private static GovernanceRepositoryAPI createGovernanceRepositoryAPI() 
{
             checkServerConfig();
-            GovernanceConfiguration governanceConfig = 
ScalingContext.getInstance().getServerConfig().getGovernanceConfig();
-            RegistryCenterConfiguration registryCenterConfig = 
governanceConfig.getRegistryCenterConfiguration();
-            RegistryCenterRepository registryCenterRepository = 
TypedSPIRegistry.getRegisteredService(RegistryCenterRepository.class, 
registryCenterConfig.getType(), registryCenterConfig.getProps());
-            registryCenterRepository.init(registryCenterConfig);
+            RegistryCenterConfiguration repositoryConfig = 
(RegistryCenterConfiguration) 
ScalingContext.getInstance().getServerConfig().getModeConfiguration().getRepository();
+            RegistryCenterRepository registryCenterRepository = 
TypedSPIRegistry.getRegisteredService(RegistryCenterRepository.class, 
repositoryConfig.getType(), repositoryConfig.getProps());
+            registryCenterRepository.init(repositoryConfig);
             return new GovernanceRepositoryAPIImpl(registryCenterRepository);
         }
     }
@@ -167,11 +166,11 @@ public final class ScalingAPIFactory {
         
         private ElasticJobAPIHolder() {
             checkServerConfig();
-            GovernanceConfiguration governanceConfig = 
ScalingContext.getInstance().getServerConfig().getGovernanceConfig();
-            String namespace = 
governanceConfig.getRegistryCenterConfiguration().getNamespace() + 
ScalingConstant.SCALING_ROOT;
-            jobStatisticsAPI = 
JobAPIFactory.createJobStatisticsAPI(governanceConfig.getRegistryCenterConfiguration().getServerLists(),
 namespace, null);
-            jobConfigurationAPI = 
JobAPIFactory.createJobConfigurationAPI(governanceConfig.getRegistryCenterConfiguration().getServerLists(),
 namespace, null);
-            jobOperateAPI = 
JobAPIFactory.createJobOperateAPI(governanceConfig.getRegistryCenterConfiguration().getServerLists(),
 namespace, null);
+            RegistryCenterConfiguration repositoryConfig = 
(RegistryCenterConfiguration) 
ScalingContext.getInstance().getServerConfig().getModeConfiguration().getRepository();
+            String namespace = repositoryConfig.getNamespace() + 
ScalingConstant.SCALING_ROOT;
+            jobStatisticsAPI = 
JobAPIFactory.createJobStatisticsAPI(repositoryConfig.getServerLists(), 
namespace, null);
+            jobConfigurationAPI = 
JobAPIFactory.createJobConfigurationAPI(repositoryConfig.getServerLists(), 
namespace, null);
+            jobOperateAPI = 
JobAPIFactory.createJobOperateAPI(repositoryConfig.getServerLists(), namespace, 
null);
         }
         
         public static ElasticJobAPIHolder getInstance() {
@@ -209,10 +208,9 @@ public final class ScalingAPIFactory {
         
         private static ZookeeperConfiguration getZookeeperConfig() {
             checkServerConfig();
-            GovernanceConfiguration governanceConfig = 
ScalingContext.getInstance().getServerConfig().getGovernanceConfig();
-            ZookeeperConfiguration result = new 
ZookeeperConfiguration(governanceConfig.getRegistryCenterConfiguration().getServerLists(),
-                    
governanceConfig.getRegistryCenterConfiguration().getNamespace() + 
ScalingConstant.SCALING_ROOT);
-            Properties props = 
governanceConfig.getRegistryCenterConfiguration().getProps();
+            RegistryCenterConfiguration repositoryConfig = 
(RegistryCenterConfiguration) 
ScalingContext.getInstance().getServerConfig().getModeConfiguration().getRepository();
+            ZookeeperConfiguration result = new 
ZookeeperConfiguration(repositoryConfig.getServerLists(), 
repositoryConfig.getNamespace() + ScalingConstant.SCALING_ROOT);
+            Properties props = repositoryConfig.getProps();
             result.setMaxSleepTimeMilliseconds(getProperty(props, 
"max.sleep.time.milliseconds", result.getMaxSleepTimeMilliseconds()));
             result.setBaseSleepTimeMilliseconds(getProperty(props, 
"base.sleep.time.milliseconds", result.getBaseSleepTimeMilliseconds()));
             result.setConnectionTimeoutMilliseconds(getProperty(props, 
"connection.timeout.milliseconds", result.getConnectionTimeoutMilliseconds()));
diff --git 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/ServerConfiguration.java
 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/ServerConfiguration.java
index 8d1500f..3d319dd 100644
--- 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/ServerConfiguration.java
+++ 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/ServerConfiguration.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.scaling.core.config;
 
 import lombok.Getter;
 import lombok.Setter;
-import 
org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration;
+import org.apache.shardingsphere.infra.mode.config.ModeConfiguration;
 
 /**
  * Global server configuration.
@@ -34,5 +34,5 @@ public final class ServerConfiguration {
     
     private int workerThread = 30;
     
-    private GovernanceConfiguration governanceConfig;
+    private ModeConfiguration modeConfiguration;
 }
diff --git 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/yaml/ServerConfigurationYamlSwapper.java
 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/yaml/ServerConfigurationYamlSwapper.java
index aab8548..ef4b9d5 100644
--- 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/yaml/ServerConfigurationYamlSwapper.java
+++ 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/yaml/ServerConfigurationYamlSwapper.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.scaling.core.config.yaml;
 
 import 
org.apache.shardingsphere.governance.core.yaml.swapper.GovernanceConfigurationYamlSwapper;
 import 
org.apache.shardingsphere.infra.yaml.config.swapper.YamlConfigurationSwapper;
+import 
org.apache.shardingsphere.infra.yaml.config.swapper.mode.ModeConfigurationYamlSwapper;
 import org.apache.shardingsphere.scaling.core.config.ServerConfiguration;
 
 /**
@@ -34,8 +35,8 @@ public final class ServerConfigurationYamlSwapper implements 
YamlConfigurationSw
         result.getScaling().setPort(data.getPort());
         result.getScaling().setBlockQueueSize(data.getBlockQueueSize());
         result.getScaling().setWorkerThread(data.getWorkerThread());
-        if (null != data.getGovernanceConfig()) {
-            
result.setGovernance(governanceConfigurationYamlSwapper.swapToYamlConfiguration(data.getGovernanceConfig()));
+        if (null != data.getModeConfiguration()) {
+            result.setMode(new 
ModeConfigurationYamlSwapper().swapToYamlConfiguration(data.getModeConfiguration()));
         }
         return result;
     }
@@ -46,8 +47,8 @@ public final class ServerConfigurationYamlSwapper implements 
YamlConfigurationSw
         result.setPort(yamlConfig.getScaling().getPort());
         result.setBlockQueueSize(yamlConfig.getScaling().getBlockQueueSize());
         result.setWorkerThread(yamlConfig.getScaling().getWorkerThread());
-        if (null != yamlConfig.getGovernance()) {
-            
result.setGovernanceConfig(governanceConfigurationYamlSwapper.swapToObject(yamlConfig.getGovernance()));
+        if (null != yamlConfig.getMode()) {
+            result.setModeConfiguration(new 
ModeConfigurationYamlSwapper().swapToObject(yamlConfig.getMode()));
         }
         return result;
     }
diff --git 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/yaml/YamlServerConfiguration.java
 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/yaml/YamlServerConfiguration.java
index 5b2c59d..5dbecbc 100644
--- 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/yaml/YamlServerConfiguration.java
+++ 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/yaml/YamlServerConfiguration.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.scaling.core.config.yaml;
 
 import lombok.Getter;
 import lombok.Setter;
-import 
org.apache.shardingsphere.governance.core.yaml.pojo.YamlGovernanceConfiguration;
 import org.apache.shardingsphere.infra.yaml.config.pojo.YamlConfiguration;
+import 
org.apache.shardingsphere.infra.yaml.config.pojo.mode.YamlModeConfiguration;
 
 /**
  * Global server configuration.
@@ -31,7 +31,7 @@ public final class YamlServerConfiguration implements 
YamlConfiguration {
     
     private YamlScalingConfiguration scaling = new YamlScalingConfiguration();
     
-    private YamlGovernanceConfiguration governance;
+    private YamlModeConfiguration mode;
     
     @Getter
     @Setter
diff --git 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/api/impl/GovernanceRepositoryAPIImplTest.java
 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/api/impl/GovernanceRepositoryAPIImplTest.java
index 7216e75..b60d5a0 100644
--- 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/api/impl/GovernanceRepositoryAPIImplTest.java
+++ 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/api/impl/GovernanceRepositoryAPIImplTest.java
@@ -18,8 +18,8 @@
 package org.apache.shardingsphere.scaling.core.api.impl;
 
 import 
org.apache.shardingsphere.governance.repository.api.config.RegistryCenterConfiguration;
-import 
org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration;
 import 
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
+import org.apache.shardingsphere.infra.mode.config.ModeConfiguration;
 import org.apache.shardingsphere.scaling.core.api.GovernanceRepositoryAPI;
 import org.apache.shardingsphere.scaling.core.api.ScalingAPIFactory;
 import org.apache.shardingsphere.scaling.core.common.constant.ScalingConstant;
@@ -98,7 +98,7 @@ public final class GovernanceRepositoryAPIImplTest {
     
     private static ServerConfiguration mockServerConfig() {
         ServerConfiguration result = new ServerConfiguration();
-        result.setGovernanceConfig(new GovernanceConfiguration(new 
RegistryCenterConfiguration("Zookeeper", "test", 
EmbedTestingServer.getConnectionString(), null), true));
+        result.setModeConfiguration(new ModeConfiguration("Cluster", new 
RegistryCenterConfiguration("Zookeeper", "test", 
EmbedTestingServer.getConnectionString(), null), true));
         return result;
     }
     
diff --git 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/api/impl/ScalingAPIImplTest.java
 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/api/impl/ScalingAPIImplTest.java
index fa87ead..e0cd7bf 100644
--- 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/api/impl/ScalingAPIImplTest.java
+++ 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/api/impl/ScalingAPIImplTest.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.scaling.core.api.impl;
 
 import lombok.SneakyThrows;
 import 
org.apache.shardingsphere.governance.repository.api.config.RegistryCenterConfiguration;
-import 
org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration;
+import org.apache.shardingsphere.infra.mode.config.ModeConfiguration;
 import org.apache.shardingsphere.scaling.core.api.JobInfo;
 import org.apache.shardingsphere.scaling.core.api.ScalingAPI;
 import org.apache.shardingsphere.scaling.core.api.ScalingAPIFactory;
@@ -141,7 +141,7 @@ public final class ScalingAPIImplTest {
     
     private static ServerConfiguration mockServerConfig() {
         ServerConfiguration result = new ServerConfiguration();
-        result.setGovernanceConfig(new GovernanceConfiguration(new 
RegistryCenterConfiguration("Zookeeper", "test", 
EmbedTestingServer.getConnectionString(), new Properties()), true));
+        result.setModeConfiguration(new ModeConfiguration("Cluster", new 
RegistryCenterConfiguration("Zookeeper", "test", 
EmbedTestingServer.getConnectionString(), new Properties()), true));
         return result;
     }
     
diff --git 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/config/yaml/ServerConfigurationYamlSwapperTest.java
 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/config/yaml/ServerConfigurationYamlSwapperTest.java
index 44bc64e..04857cb 100644
--- 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/config/yaml/ServerConfigurationYamlSwapperTest.java
+++ 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/config/yaml/ServerConfigurationYamlSwapperTest.java
@@ -17,49 +17,58 @@
 
 package org.apache.shardingsphere.scaling.core.config.yaml;
 
-import 
org.apache.shardingsphere.governance.core.yaml.pojo.YamlRegistryCenterConfiguration;
-import 
org.apache.shardingsphere.governance.core.yaml.pojo.YamlGovernanceConfiguration;
 import 
org.apache.shardingsphere.governance.repository.api.config.RegistryCenterConfiguration;
-import 
org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration;
+import org.apache.shardingsphere.infra.mode.config.ModeConfiguration;
+import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
+import 
org.apache.shardingsphere.infra.yaml.config.pojo.mode.YamlModeConfiguration;
+import 
org.apache.shardingsphere.infra.yaml.config.pojo.mode.YamlPersistRepositoryConfiguration;
+import 
org.apache.shardingsphere.infra.yaml.config.swapper.mode.PersistRepositoryConfigurationYamlSwapper;
 import org.apache.shardingsphere.scaling.core.config.ServerConfiguration;
 import org.junit.Test;
 
+import java.util.Properties;
+
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
 
 public final class ServerConfigurationYamlSwapperTest {
     
+    static {
+        
ShardingSphereServiceLoader.register(PersistRepositoryConfigurationYamlSwapper.class);
+    }
+    
     private final ServerConfigurationYamlSwapper 
serverConfigurationYamlSwapper = new ServerConfigurationYamlSwapper();
     
     @Test
     public void assertSwapToYamlConfiguration() {
         YamlServerConfiguration yamlServerConfig = 
serverConfigurationYamlSwapper.swapToYamlConfiguration(mockServerConfig());
         assertThat(yamlServerConfig.getScaling().getWorkerThread(), is(10));
-        
assertThat(yamlServerConfig.getGovernance().getRegistryCenter().getNamespace(), 
is("test"));
-        
assertThat(yamlServerConfig.getGovernance().getRegistryCenter().getType(), 
is("Zookeeper"));
+        
assertThat(yamlServerConfig.getMode().getRepository().getProps().getProperty("namespace"),
 is("test"));
+        assertThat(yamlServerConfig.getMode().getRepository().getType(), 
is("Zookeeper"));
     }
     
     @Test
     public void assertSwapToObject() {
         ServerConfiguration serverConfig = 
serverConfigurationYamlSwapper.swapToObject(mockYamlServerConfig());
         assertThat(serverConfig.getWorkerThread(), is(10));
-        
assertThat(serverConfig.getGovernanceConfig().getRegistryCenterConfiguration().getNamespace(),
 is("test"));
+        
assertThat(serverConfig.getModeConfiguration().getRepository().getProps().getProperty("namespace"),
 is("test"));
     }
     
     private ServerConfiguration mockServerConfig() {
         ServerConfiguration result = new ServerConfiguration();
         result.setWorkerThread(10);
-        result.setGovernanceConfig(new GovernanceConfiguration(new 
RegistryCenterConfiguration("Zookeeper", "test", "localhost:2181", null), 
false));
+        result.setModeConfiguration(new ModeConfiguration("Cluster", new 
RegistryCenterConfiguration("Zookeeper", "test", "localhost:2181", new 
Properties()), false));
         return result;
     }
     
     private YamlServerConfiguration mockYamlServerConfig() {
+        YamlModeConfiguration config = new YamlModeConfiguration();
+        config.setType("Cluster");
+        YamlPersistRepositoryConfiguration repositoryConfig = new 
YamlPersistRepositoryConfiguration();
+        repositoryConfig.getProps().setProperty("namespace", "test");
+        config.setRepository(repositoryConfig);
         YamlServerConfiguration result = new YamlServerConfiguration();
-        YamlGovernanceConfiguration config = new YamlGovernanceConfiguration();
-        YamlRegistryCenterConfiguration registryCenterConfig = new 
YamlRegistryCenterConfiguration();
-        registryCenterConfig.setNamespace("test");
-        config.setRegistryCenter(registryCenterConfig);
-        result.setGovernance(config);
+        result.setMode(config);
         result.getScaling().setWorkerThread(10);
         return result;
     }
diff --git 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/job/FinishedCheckJobTest.java
 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/job/FinishedCheckJobTest.java
index 339b258..dc0b453 100644
--- 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/job/FinishedCheckJobTest.java
+++ 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/job/FinishedCheckJobTest.java
@@ -18,8 +18,8 @@
 package org.apache.shardingsphere.scaling.core.job;
 
 import lombok.SneakyThrows;
-import 
org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration;
 import 
org.apache.shardingsphere.governance.repository.api.config.RegistryCenterConfiguration;
+import org.apache.shardingsphere.infra.mode.config.ModeConfiguration;
 import org.apache.shardingsphere.scaling.core.api.GovernanceRepositoryAPI;
 import org.apache.shardingsphere.scaling.core.api.ScalingAPI;
 import org.apache.shardingsphere.scaling.core.common.constant.ScalingConstant;
@@ -101,7 +101,7 @@ public final class FinishedCheckJobTest {
     
     private static ServerConfiguration mockServerConfig() {
         ServerConfiguration result = new ServerConfiguration();
-        result.setGovernanceConfig(new GovernanceConfiguration(new 
RegistryCenterConfiguration("Zookeeper", "test", 
EmbedTestingServer.getConnectionString(), null), true));
+        result.setModeConfiguration(new ModeConfiguration("Cluster", new 
RegistryCenterConfiguration("Zookeeper", "test", 
EmbedTestingServer.getConnectionString(), null), true));
         return result;
     }
     
diff --git 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/job/ScalingJobTest.java
 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/job/ScalingJobTest.java
index d066b73..bd6e584 100644
--- 
a/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/job/ScalingJobTest.java
+++ 
b/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/job/ScalingJobTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.scaling.core.job;
 import lombok.SneakyThrows;
 import org.apache.shardingsphere.elasticjob.api.ShardingContext;
 import 
org.apache.shardingsphere.governance.repository.api.config.RegistryCenterConfiguration;
-import 
org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration;
+import org.apache.shardingsphere.infra.mode.config.ModeConfiguration;
 import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
 import org.apache.shardingsphere.scaling.core.config.ScalingContext;
 import org.apache.shardingsphere.scaling.core.config.ServerConfiguration;
@@ -66,7 +66,7 @@ public final class ScalingJobTest {
     
     private static ServerConfiguration mockServerConfig() {
         ServerConfiguration result = new ServerConfiguration();
-        result.setGovernanceConfig(new GovernanceConfiguration(new 
RegistryCenterConfiguration("Zookeeper", "test", 
EmbedTestingServer.getConnectionString(), null), true));
+        result.setModeConfiguration(new ModeConfiguration("Cluster", new 
RegistryCenterConfiguration("Zookeeper", "test", 
EmbedTestingServer.getConnectionString(), null), true));
         return result;
     }
     
diff --git 
a/shardingsphere-test/shardingsphere-integration-scaling-test/shardingsphere-integration-scaling-test-mysql/src/test/resources/docker/scaling/conf/server.yaml
 
b/shardingsphere-test/shardingsphere-integration-scaling-test/shardingsphere-integration-scaling-test-mysql/src/test/resources/docker/scaling/conf/server.yaml
index e036889..6b9311a 100644
--- 
a/shardingsphere-test/shardingsphere-integration-scaling-test/shardingsphere-integration-scaling-test-mysql/src/test/resources/docker/scaling/conf/server.yaml
+++ 
b/shardingsphere-test/shardingsphere-integration-scaling-test/shardingsphere-integration-scaling-test-mysql/src/test/resources/docker/scaling/conf/server.yaml
@@ -20,8 +20,10 @@ scaling:
   blockQueueSize: 10000
   workerThread: 30
 
-governance:
-  registryCenter:
+mode:
+  type: Cluster
+  repository:
     type: ZooKeeper
-    namespace: governance_ds
-    serverLists: zookeeper:2181
+    props:
+      namespace: governance_ds
+      serverLists: localhost:2181
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/container/adapter/ShardingSphereAdapterContainer.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/container/adapter/ShardingSphereAdapterContainer.java
index 5da0898..bc42493 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/container/adapter/ShardingSphereAdapterContainer.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/container/adapter/ShardingSphereAdapterContainer.java
@@ -54,10 +54,9 @@ public abstract class ShardingSphereAdapterContainer extends 
ShardingSphereConta
     
     private YamlUserConfiguration loadAuthentication(final ParameterizedArray 
parameterizedArray) throws IOException {
         YamlProxyServerConfiguration configuration = YamlEngine.unmarshal(
-                
ByteStreams.toByteArray(this.getClass().getResourceAsStream("/docker/"
-                        + parameterizedArray.getScenario() + "/" + 
parameterizedArray.getDatabaseType().getName().toLowerCase() + 
"/proxy/conf/server.yaml")),
-                YamlProxyServerConfiguration.class
-        );
+                ByteStreams.toByteArray(this.getClass().getResourceAsStream(
+                        "/docker/" + parameterizedArray.getScenario() + "/" + 
parameterizedArray.getDatabaseType().getName().toLowerCase() + 
"/proxy/conf/server.yaml")), 
+                YamlProxyServerConfiguration.class);
         return 
YamlUsersConfigurationConverter.convertYamlUserConfiguration(getUsersFromConfiguration(configuration))
                 .stream()
                 .filter(each -> "root".equals(each.getUsername()))
@@ -79,7 +78,7 @@ public abstract class ShardingSphereAdapterContainer extends 
ShardingSphereConta
      * @return governance data source
      */
     public abstract DataSource getGovernanceDataSource(String serverLists);
-
+    
     private Collection<String> getUsersFromConfiguration(final 
YamlProxyServerConfiguration serverConfig) {
         for (YamlRuleConfiguration config : serverConfig.getRules()) {
             if (config instanceof YamlAuthorityRuleConfiguration) {

Reply via email to