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

duanzhengqiang 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 89f9871  Remove databaseType ref of DatabaseDiscoveryRule (#12231)
89f9871 is described below

commit 89f9871ff79d769d22964caf1e6ba2aa91e9c3ec
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Sep 6 06:30:59 2021 +0800

    Remove databaseType ref of DatabaseDiscoveryRule (#12231)
    
    * Remove databaseType ref of DatabaseDiscoveryRule
    
    * Refactor DatabaseDiscoveryType
---
 .../dbdiscovery/spi/DatabaseDiscoveryType.java     | 14 +++----
 .../dbdiscovery/rule/DatabaseDiscoveryRule.java    | 44 +++++++++++-----------
 ...orithmProvidedDatabaseDiscoveryRuleBuilder.java |  2 +-
 .../rule/builder/DatabaseDiscoveryRuleBuilder.java |  2 +-
 .../fixture/TestDatabaseDiscoveryType.java         |  8 ++--
 .../route/DatabaseDiscoverySQLRouterTest.java      |  3 +-
 .../rule/DatabaseDiscoveryRuleTest.java            |  5 +--
 .../dbdiscovery/mgr/MGRDatabaseDiscoveryType.java  | 10 ++---
 .../dbdiscovery/mgr/MGRHeartbeatJob.java           |  8 ++--
 .../mgr/MGRDatabaseDiscoveryTypeTest.java          |  4 +-
 .../distsql/fixture/TestDatabaseDiscoveryType.java | 20 +++++-----
 11 files changed, 58 insertions(+), 62 deletions(-)

diff --git 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-api/src/main/java/org/apache/shardingsphere/dbdiscovery/spi/DatabaseDiscoveryType.java
 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-api/src/main/java/org/apache/shardingsphere/dbdiscovery/spi/DatabaseDiscoveryType.java
index 2fdca56..de370d2 100644
--- 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-api/src/main/java/org/apache/shardingsphere/dbdiscovery/spi/DatabaseDiscoveryType.java
+++ 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-api/src/main/java/org/apache/shardingsphere/dbdiscovery/spi/DatabaseDiscoveryType.java
@@ -32,31 +32,31 @@ public interface DatabaseDiscoveryType extends 
ShardingSphereAlgorithm {
     /**
      * Check database discovery config.
      *
-     * @param dataSourceMap data source map
      * @param schemaName schema name
+     * @param dataSourceMap data source map
      * @throws SQLException SQL Exception
      */
-    void checkDatabaseDiscoveryConfig(Map<String, DataSource> dataSourceMap, 
String schemaName) throws SQLException;
+    void checkDatabaseDiscoveryConfig(String schemaName, Map<String, 
DataSource> dataSourceMap) throws SQLException;
     
     /**
      * Update primary data source.
      *
-     * @param dataSourceMap data source map
      * @param schemaName schema name
+     * @param dataSourceMap data source map
      * @param disabledDataSourceNames disabled data source names
      * @param primaryDataSourceName primary data source name
      * @param groupName group name
      */
-    void updatePrimaryDataSource(Map<String, DataSource> dataSourceMap, String 
schemaName, Collection<String> disabledDataSourceNames, String groupName, 
String primaryDataSourceName);
+    void updatePrimaryDataSource(String schemaName, Map<String, DataSource> 
dataSourceMap, Collection<String> disabledDataSourceNames, String groupName, 
String primaryDataSourceName);
     
     /**
      * Update member state.
      *
-     * @param dataSourceMap data source map
      * @param schemaName schema name
+     * @param dataSourceMap data source map
      * @param disabledDataSourceNames disabled data source names
      */
-    void updateMemberState(Map<String, DataSource> dataSourceMap, String 
schemaName, Collection<String> disabledDataSourceNames);
+    void updateMemberState(String schemaName, Map<String, DataSource> 
dataSourceMap, Collection<String> disabledDataSourceNames);
     
     /**
      * Start periodical update.
@@ -67,7 +67,7 @@ public interface DatabaseDiscoveryType extends 
ShardingSphereAlgorithm {
      * @param primaryDataSourceName primary data source name
      * @param groupName group name
      */
-    void startPeriodicalUpdate(Map<String, DataSource> dataSourceMap, String 
schemaName, Collection<String> disabledDataSourceNames, String groupName, 
String primaryDataSourceName);
+    void startPeriodicalUpdate(String schemaName, Map<String, DataSource> 
dataSourceMap, Collection<String> disabledDataSourceNames, String groupName, 
String primaryDataSourceName);
     
     /**
      * Get primary data source.
diff --git 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/DatabaseDiscoveryRule.java
 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/DatabaseDiscoveryRule.java
index cedf26d..7310038 100644
--- 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/DatabaseDiscoveryRule.java
+++ 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/DatabaseDiscoveryRule.java
@@ -27,7 +27,6 @@ import 
org.apache.shardingsphere.infra.aware.DataSourceNameAware;
 import org.apache.shardingsphere.infra.aware.DataSourceNameAwareFactory;
 import 
org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
 import 
org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmFactory;
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.infra.exception.ShardingSphereException;
 import org.apache.shardingsphere.infra.rule.event.RuleChangedEvent;
 import 
org.apache.shardingsphere.infra.rule.event.impl.DataSourceNameDisabledEvent;
@@ -61,30 +60,24 @@ public final class DatabaseDiscoveryRule implements 
SchemaRule, DataSourceContai
     @Getter
     private final Map<String, DatabaseDiscoveryDataSourceRule> dataSourceRules;
     
-    public DatabaseDiscoveryRule(final DatabaseDiscoveryRuleConfiguration 
config, final String schemaName, final DatabaseType databaseType, final 
Map<String, DataSource> dataSourceMap) {
-        checkDataSourcesArguments(config.getDataSources(), databaseType, 
dataSourceMap);
-        discoveryTypes = getDiscoveryTypes(config.getDiscoveryTypes());
-        dataSourceRules = getDataSourceRules(config.getDataSources());
-        startMonitor(schemaName, dataSourceMap);
-        initAware();
+    public DatabaseDiscoveryRule(final DatabaseDiscoveryRuleConfiguration 
config, final String schemaName, final Map<String, DataSource> dataSourceMap) {
+        this(config.getDataSources(), 
getDiscoveryTypes(config.getDiscoveryTypes()), schemaName, dataSourceMap);
     }
     
-    public DatabaseDiscoveryRule(final 
AlgorithmProvidedDatabaseDiscoveryRuleConfiguration config, 
-                                 final String schemaName, final DatabaseType 
databaseType, final Map<String, DataSource> dataSourceMap) {
-        checkDataSourcesArguments(config.getDataSources(), databaseType, 
dataSourceMap);
-        discoveryTypes = config.getDiscoveryTypes();
-        dataSourceRules = getDataSourceRules(config.getDataSources());
-        startMonitor(schemaName, dataSourceMap);
-        initAware();
+    public DatabaseDiscoveryRule(final 
AlgorithmProvidedDatabaseDiscoveryRuleConfiguration config, final String 
schemaName, final Map<String, DataSource> dataSourceMap) {
+        this(config.getDataSources(), config.getDiscoveryTypes(), schemaName, 
dataSourceMap);
     }
     
-    private void checkDataSourcesArguments(final 
Collection<DatabaseDiscoveryDataSourceRuleConfiguration> dataSources, final 
DatabaseType databaseType, final Map<String, DataSource> dataSourceMap) {
-        Preconditions.checkArgument(!dataSources.isEmpty(), "Database 
discovery rules can not be empty.");
-        Preconditions.checkArgument(null != dataSourceMap && 
!dataSourceMap.isEmpty(), "Data sources cannot be empty.");
-        Preconditions.checkNotNull(databaseType, "Database type cannot be 
null.");
+    private DatabaseDiscoveryRule(final 
Collection<DatabaseDiscoveryDataSourceRuleConfiguration> dataSourceRuleConfigs, 
final Map<String, DatabaseDiscoveryType> discoveryTypes, 
+                                  final String schemaName, final Map<String, 
DataSource> dataSourceMap) {
+        checkDataSourcesArguments(dataSourceRuleConfigs, dataSourceMap);
+        this.discoveryTypes = discoveryTypes;
+        dataSourceRules = getDataSourceRules(dataSourceRuleConfigs);
+        startMonitor(schemaName, dataSourceMap);
+        initAware();
     }
     
-    private Map<String, DatabaseDiscoveryType> getDiscoveryTypes(final 
Map<String, ShardingSphereAlgorithmConfiguration> discoveryTypesConfig) {
+    private static Map<String, DatabaseDiscoveryType> getDiscoveryTypes(final 
Map<String, ShardingSphereAlgorithmConfiguration> discoveryTypesConfig) {
         Map<String, DatabaseDiscoveryType> result = new LinkedHashMap<>();
         for (Entry<String, ShardingSphereAlgorithmConfiguration> entry : 
discoveryTypesConfig.entrySet()) {
             result.put(entry.getKey(), 
ShardingSphereAlgorithmFactory.createAlgorithm(entry.getValue(), 
DatabaseDiscoveryType.class));
@@ -92,6 +85,11 @@ public final class DatabaseDiscoveryRule implements 
SchemaRule, DataSourceContai
         return result;
     }
     
+    private void checkDataSourcesArguments(final 
Collection<DatabaseDiscoveryDataSourceRuleConfiguration> dataSources, final 
Map<String, DataSource> dataSourceMap) {
+        Preconditions.checkArgument(!dataSources.isEmpty(), "Database 
discovery rules can not be empty.");
+        Preconditions.checkArgument(null != dataSourceMap && 
!dataSourceMap.isEmpty(), "Data sources cannot be empty.");
+    }
+    
     private Map<String, DatabaseDiscoveryDataSourceRule> 
getDataSourceRules(final 
Collection<DatabaseDiscoveryDataSourceRuleConfiguration> dataSources) {
         Map<String, DatabaseDiscoveryDataSourceRule> result = new 
HashMap<>(dataSources.size(), 1);
         for (DatabaseDiscoveryDataSourceRuleConfiguration each : dataSources) {
@@ -114,12 +112,12 @@ public final class DatabaseDiscoveryRule implements 
SchemaRule, DataSourceContai
             Map<String, DataSource> originalDataSourceMap = new 
HashMap<>(dataSourceMap);
             Collection<String> disabledDataSourceNames = 
dbDiscoveryDataSourceRule.getDisabledDataSourceNames();
             String primaryDataSourceName = 
dbDiscoveryDataSourceRule.getPrimaryDataSourceName();
-            
databaseDiscoveryType.updatePrimaryDataSource(originalDataSourceMap, 
schemaName, disabledDataSourceNames, groupName, primaryDataSourceName);
+            databaseDiscoveryType.updatePrimaryDataSource(schemaName, 
originalDataSourceMap, disabledDataSourceNames, groupName, 
primaryDataSourceName);
             
dbDiscoveryDataSourceRule.updatePrimaryDataSourceName(databaseDiscoveryType.getPrimaryDataSource());
-            databaseDiscoveryType.updateMemberState(originalDataSourceMap, 
schemaName, disabledDataSourceNames);
+            databaseDiscoveryType.updateMemberState(schemaName, 
originalDataSourceMap, disabledDataSourceNames);
             try {
-                
databaseDiscoveryType.checkDatabaseDiscoveryConfig(dataSourceMap, schemaName);
-                
databaseDiscoveryType.startPeriodicalUpdate(originalDataSourceMap, schemaName, 
disabledDataSourceNames, groupName, primaryDataSourceName);
+                databaseDiscoveryType.checkDatabaseDiscoveryConfig(schemaName, 
dataSourceMap);
+                databaseDiscoveryType.startPeriodicalUpdate(schemaName, 
originalDataSourceMap, disabledDataSourceNames, groupName, 
primaryDataSourceName);
             } catch (final SQLException ex) {
                 throw new ShardingSphereException(ex);
             }
diff --git 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/builder/AlgorithmProvidedDatabaseDiscoveryRuleBuilder.java
 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/builder/AlgorithmProvidedDatabaseDiscoveryRuleBuilder.java
index 85b6d3d..d9f545d 100644
--- 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/builder/AlgorithmProvidedDatabaseDiscoveryRuleBuilder.java
+++ 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/builder/AlgorithmProvidedDatabaseDiscoveryRuleBuilder.java
@@ -34,7 +34,7 @@ public final class 
AlgorithmProvidedDatabaseDiscoveryRuleBuilder implements Sche
     @Override
     public DatabaseDiscoveryRule build(final SchemaRulesBuilderMaterials 
materials, final AlgorithmProvidedDatabaseDiscoveryRuleConfiguration config,
                                        final Collection<ShardingSphereRule> 
rules) {
-        return new DatabaseDiscoveryRule(config, materials.getSchemaName(), 
materials.getDatabaseType(), materials.getDataSourceMap());
+        return new DatabaseDiscoveryRule(config, materials.getSchemaName(), 
materials.getDataSourceMap());
     }
     
     @Override
diff --git 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/builder/DatabaseDiscoveryRuleBuilder.java
 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/builder/DatabaseDiscoveryRuleBuilder.java
index f3da959..2451596 100644
--- 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/builder/DatabaseDiscoveryRuleBuilder.java
+++ 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/main/java/org/apache/shardingsphere/dbdiscovery/rule/builder/DatabaseDiscoveryRuleBuilder.java
@@ -43,7 +43,7 @@ public final class DatabaseDiscoveryRuleBuilder implements 
SchemaRuleBuilder<Dat
                 realDataSourceMap.put(datasourceName, 
materials.getDataSourceMap().get(datasourceName));
             }
         }
-        return new DatabaseDiscoveryRule(config, materials.getSchemaName(), 
materials.getDatabaseType(), realDataSourceMap);
+        return new DatabaseDiscoveryRule(config, materials.getSchemaName(), 
realDataSourceMap);
     }
     
     @Override
diff --git 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/fixture/TestDatabaseDiscoveryType.java
 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/fixture/TestDatabaseDiscoveryType.java
index 444fd82..ab0a3ce 100644
--- 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/fixture/TestDatabaseDiscoveryType.java
+++ 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/fixture/TestDatabaseDiscoveryType.java
@@ -26,20 +26,20 @@ import java.util.Map;
 public final class TestDatabaseDiscoveryType implements DatabaseDiscoveryType {
     
     @Override
-    public void checkDatabaseDiscoveryConfig(final Map<String, DataSource> 
dataSourceMap, final String schemaName) {
+    public void checkDatabaseDiscoveryConfig(final String schemaName, final 
Map<String, DataSource> dataSourceMap) {
     }
     
     @Override
-    public void updatePrimaryDataSource(final Map<String, DataSource> 
activeDataSourceMap, final String schemaName, final Collection<String> 
disabledDataSourceNames,
+    public void updatePrimaryDataSource(final String schemaName, final 
Map<String, DataSource> activeDataSourceMap, final Collection<String> 
disabledDataSourceNames,
                                         final String groupName, final String 
primaryDataSourceName) {
     }
     
     @Override
-    public void updateMemberState(final Map<String, DataSource> dataSourceMap, 
final String schemaName, final Collection<String> disabledDataSourceNames) {
+    public void updateMemberState(final String schemaName, final Map<String, 
DataSource> dataSourceMap, final Collection<String> disabledDataSourceNames) {
     }
     
     @Override
-    public void startPeriodicalUpdate(final Map<String, DataSource> 
dataSourceMap, final String schemaName, final Collection<String> 
disabledDataSourceNames,
+    public void startPeriodicalUpdate(final String schemaName, final 
Map<String, DataSource> dataSourceMap, final Collection<String> 
disabledDataSourceNames,
                                       final String groupName, final String 
primaryDataSourceName) {
     }
     
diff --git 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/route/DatabaseDiscoverySQLRouterTest.java
 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/route/DatabaseDiscoverySQLRouterTest.java
index 1d8a48b..249fe24 100644
--- 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/route/DatabaseDiscoverySQLRouterTest.java
+++ 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/route/DatabaseDiscoverySQLRouterTest.java
@@ -24,7 +24,6 @@ import org.apache.shardingsphere.infra.binder.LogicSQL;
 import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
 import 
org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
 import 
org.apache.shardingsphere.infra.config.properties.ConfigurationProperties;
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import 
org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource;
 import 
org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
@@ -78,7 +77,7 @@ public final class DatabaseDiscoverySQLRouterTest {
                 = new 
DatabaseDiscoveryDataSourceRuleConfiguration(DATA_SOURCE_NAME, 
Collections.singletonList(PRIMARY_DATA_SOURCE), "TEST");
         ShardingSphereAlgorithmConfiguration algorithmConfig = new 
ShardingSphereAlgorithmConfiguration("TEST", new Properties());
         DatabaseDiscoveryRuleConfiguration config = new 
DatabaseDiscoveryRuleConfiguration(Collections.singleton(dataSourceConfig), 
Collections.singletonMap("TEST", algorithmConfig));
-        rule = new DatabaseDiscoveryRule(config, "TEST", 
mock(DatabaseType.class), Collections.singletonMap("ds", 
mock(DataSource.class)));
+        rule = new DatabaseDiscoveryRule(config, "TEST", 
Collections.singletonMap("ds", mock(DataSource.class)));
         sqlRouter = (DatabaseDiscoverySQLRouter) 
OrderedSPIRegistry.getRegisteredServices(SQLRouter.class, 
Collections.singleton(rule)).get(rule);
     }
     
diff --git 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/DatabaseDiscoveryRuleTest.java
 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/DatabaseDiscoveryRuleTest.java
index 6d64d27..aba482b 100644
--- 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/DatabaseDiscoveryRuleTest.java
+++ 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/DatabaseDiscoveryRuleTest.java
@@ -21,7 +21,6 @@ import com.google.common.collect.ImmutableMap;
 import 
org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleConfiguration;
 import 
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration;
 import 
org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.rule.event.impl.DataSourceNameDisabledEvent;
 import org.junit.Test;
 
@@ -44,7 +43,7 @@ public final class DatabaseDiscoveryRuleTest {
     
     @Test(expected = IllegalArgumentException.class)
     public void assertNewWithEmptyDataSourceRule() {
-        new DatabaseDiscoveryRule(new 
DatabaseDiscoveryRuleConfiguration(Collections.emptyList(), 
Collections.emptyMap()), "ha_db", mock(DatabaseType.class), dataSourceMap);
+        new DatabaseDiscoveryRule(new 
DatabaseDiscoveryRuleConfiguration(Collections.emptyList(), 
Collections.emptyMap()), "ha_db", dataSourceMap);
     }
     
     @Test
@@ -98,6 +97,6 @@ public final class DatabaseDiscoveryRuleTest {
     private DatabaseDiscoveryRule createRule() {
         DatabaseDiscoveryDataSourceRuleConfiguration config = new 
DatabaseDiscoveryDataSourceRuleConfiguration("test_pr", Arrays.asList("ds_0", 
"ds_1"), "TEST");
         return new DatabaseDiscoveryRule(new 
DatabaseDiscoveryRuleConfiguration(
-                Collections.singleton(config), ImmutableMap.of("TEST", new 
ShardingSphereAlgorithmConfiguration("TEST", new Properties()))), "ha_db", 
mock(DatabaseType.class), dataSourceMap);
+                Collections.singleton(config), ImmutableMap.of("TEST", new 
ShardingSphereAlgorithmConfiguration("TEST", new Properties()))), "ha_db", 
dataSourceMap);
     }
 }
diff --git 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-provider/shardingsphere-db-discovery-mgr/src/main/java/org/apache/shardingsphere/dbdiscovery/mgr/MGRDatabaseDiscoveryType.java
 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-provider/shardingsphere-db-discovery-mgr/src/main/java/org/apache/shardingsphere/dbdiscovery/mgr/MGRDatabaseDiscoveryType.java
index f225119..79c57ef 100644
--- 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-provider/shardingsphere-db-discovery-mgr/src/main/java/org/apache/shardingsphere/dbdiscovery/mgr/MGRDatabaseDiscoveryType.java
+++ 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-provider/shardingsphere-db-discovery-mgr/src/main/java/org/apache/shardingsphere/dbdiscovery/mgr/MGRDatabaseDiscoveryType.java
@@ -71,7 +71,7 @@ public final class MGRDatabaseDiscoveryType implements 
DatabaseDiscoveryType {
     private Properties props = new Properties();
     
     @Override
-    public void checkDatabaseDiscoveryConfig(final Map<String, DataSource> 
dataSourceMap, final String schemaName) throws SQLException {
+    public void checkDatabaseDiscoveryConfig(final String schemaName, final 
Map<String, DataSource> dataSourceMap) throws SQLException {
         try (Connection connection = 
dataSourceMap.get(oldPrimaryDataSource).getConnection();
              Statement statement = connection.createStatement()) {
             checkPluginIsActive(statement);
@@ -124,7 +124,7 @@ public final class MGRDatabaseDiscoveryType implements 
DatabaseDiscoveryType {
     }
     
     @Override
-    public void updatePrimaryDataSource(final Map<String, DataSource> 
dataSourceMap, final String schemaName, final Collection<String> 
disabledDataSourceNames,
+    public void updatePrimaryDataSource(final String schemaName, final 
Map<String, DataSource> dataSourceMap, final Collection<String> 
disabledDataSourceNames,
                                         final String groupName, final String 
primaryDataSourceName) {
         Map<String, DataSource> activeDataSourceMap = new 
HashMap<>(dataSourceMap);
         if (!disabledDataSourceNames.isEmpty()) {
@@ -184,7 +184,7 @@ public final class MGRDatabaseDiscoveryType implements 
DatabaseDiscoveryType {
     }
     
     @Override
-    public void updateMemberState(final Map<String, DataSource> dataSourceMap, 
final String schemaName, final Collection<String> disabledDataSourceNames) {
+    public void updateMemberState(final String schemaName, final Map<String, 
DataSource> dataSourceMap, final Collection<String> disabledDataSourceNames) {
         Map<String, DataSource> activeDataSourceMap = new 
HashMap<>(dataSourceMap);
         if (!disabledDataSourceNames.isEmpty()) {
             activeDataSourceMap.entrySet().removeIf(each -> 
disabledDataSourceNames.contains(each.getKey()));
@@ -268,7 +268,7 @@ public final class MGRDatabaseDiscoveryType implements 
DatabaseDiscoveryType {
     }
     
     @Override
-    public void startPeriodicalUpdate(final Map<String, DataSource> 
dataSourceMap, final String schemaName, final Collection<String> 
disabledDataSourceNames,
+    public void startPeriodicalUpdate(final String schemaName, final 
Map<String, DataSource> dataSourceMap, final Collection<String> 
disabledDataSourceNames,
                                       final String groupName, final String 
primaryDataSourceName) {
         if (null == coordinatorRegistryCenter) {
             ZookeeperConfiguration zkConfig = new 
ZookeeperConfiguration(props.getProperty("zkServerLists"), "mgr-elasticjob");
@@ -278,7 +278,7 @@ public final class MGRDatabaseDiscoveryType implements 
DatabaseDiscoveryType {
         if (null != SCHEDULE_JOB_BOOTSTRAP_MAP.get(groupName)) {
             SCHEDULE_JOB_BOOTSTRAP_MAP.get(groupName).shutdown();
         }
-        SCHEDULE_JOB_BOOTSTRAP_MAP.put(groupName, new 
ScheduleJobBootstrap(coordinatorRegistryCenter, new MGRHeartbeatJob(this, 
dataSourceMap, schemaName, disabledDataSourceNames,
+        SCHEDULE_JOB_BOOTSTRAP_MAP.put(groupName, new 
ScheduleJobBootstrap(coordinatorRegistryCenter, new MGRHeartbeatJob(this, 
schemaName, dataSourceMap, disabledDataSourceNames,
                 groupName, primaryDataSourceName), 
JobConfiguration.newBuilder("MGR-" + groupName, 
1).cron(props.getProperty("keepAliveCron")).build()));
         SCHEDULE_JOB_BOOTSTRAP_MAP.get(groupName).schedule();
     }
diff --git 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-provider/shardingsphere-db-discovery-mgr/src/main/java/org/apache/shardingsphere/dbdiscovery/mgr/MGRHeartbeatJob.java
 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-provider/shardingsphere-db-discovery-mgr/src/main/java/org/apache/shardingsphere/dbdiscovery/mgr/MGRHeartbeatJob.java
index 489589b..9852c7b 100644
--- 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-provider/shardingsphere-db-discovery-mgr/src/main/java/org/apache/shardingsphere/dbdiscovery/mgr/MGRHeartbeatJob.java
+++ 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-provider/shardingsphere-db-discovery-mgr/src/main/java/org/apache/shardingsphere/dbdiscovery/mgr/MGRHeartbeatJob.java
@@ -34,10 +34,10 @@ public final class MGRHeartbeatJob implements SimpleJob {
     
     private final DatabaseDiscoveryType databaseDiscoveryType;
     
-    private final Map<String, DataSource> dataSourceMap;
-    
     private final String schemaName;
     
+    private final Map<String, DataSource> dataSourceMap;
+    
     private final Collection<String> disabledDataSourceNames;
     
     private final String groupName;
@@ -46,7 +46,7 @@ public final class MGRHeartbeatJob implements SimpleJob {
     
     @Override
     public void execute(final ShardingContext shardingContext) {
-        databaseDiscoveryType.updatePrimaryDataSource(dataSourceMap, 
schemaName, disabledDataSourceNames, groupName, primaryDataSourceName);
-        databaseDiscoveryType.updateMemberState(dataSourceMap, schemaName, 
disabledDataSourceNames);
+        databaseDiscoveryType.updatePrimaryDataSource(schemaName, 
dataSourceMap, disabledDataSourceNames, groupName, primaryDataSourceName);
+        databaseDiscoveryType.updateMemberState(schemaName, dataSourceMap, 
disabledDataSourceNames);
     }
 }
diff --git 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-provider/shardingsphere-db-discovery-mgr/src/test/java/org/apache/shardingsphere/dbdiscovery/mgr/MGRDatabaseDiscoveryTypeTest.java
 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-provider/shardingsphere-db-discovery-mgr/src/test/java/org/apache/shardingsphere/dbdiscovery/mgr/MGRDatabaseDiscoveryTypeTest.java
index d30fcb1..3bfb40c 100644
--- 
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-provider/shardingsphere-db-discovery-mgr/src/test/java/org/apache/shardingsphere/dbdiscovery/mgr/MGRDatabaseDiscoveryTypeTest.java
+++ 
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-provider/shardingsphere-db-discovery-mgr/src/test/java/org/apache/shardingsphere/dbdiscovery/mgr/MGRDatabaseDiscoveryTypeTest.java
@@ -73,7 +73,7 @@ public final class MGRDatabaseDiscoveryTypeTest {
         when(dataSourceMap.get(null)).thenReturn(dataSource);
         try {
             mgrHaType.getProps().setProperty("groupName", "group_name");
-            mgrHaType.checkDatabaseDiscoveryConfig(dataSourceMap, 
"discovery_db");
+            mgrHaType.checkDatabaseDiscoveryConfig("discovery_db", 
dataSourceMap);
         } catch (final SQLException ex) {
             throw new ShardingSphereException(ex);
         }
@@ -114,7 +114,7 @@ public final class MGRDatabaseDiscoveryTypeTest {
             dataSourceMap.put(String.format("ds_%s", i), dataSources.get(i));
         }
         mgrHaType.getProps().setProperty("groupName", "group_name");
-        mgrHaType.updatePrimaryDataSource(dataSourceMap, "discovery_db", 
Collections.emptySet(), "group_name", null);
+        mgrHaType.updatePrimaryDataSource("discovery_db", dataSourceMap, 
Collections.emptySet(), "group_name", null);
         assertThat(mgrHaType.getPrimaryDataSource(), is("ds_2"));
     }
 }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/fixture/TestDatabaseDiscoveryType.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/fixture/TestDatabaseDiscoveryType.java
index d3c85ae..46cddac 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/fixture/TestDatabaseDiscoveryType.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/fixture/TestDatabaseDiscoveryType.java
@@ -20,7 +20,6 @@ package 
org.apache.shardingsphere.proxy.backend.text.distsql.fixture;
 import org.apache.shardingsphere.dbdiscovery.spi.DatabaseDiscoveryType;
 
 import javax.sql.DataSource;
-import java.sql.SQLException;
 import java.util.Collection;
 import java.util.Map;
 
@@ -28,29 +27,30 @@ import java.util.Map;
  * Test database discovery type.
  */
 public final class TestDatabaseDiscoveryType implements DatabaseDiscoveryType {
+    
     @Override
-    public void checkDatabaseDiscoveryConfig(final Map<String, DataSource> 
dataSourceMap, final String schemaName) throws SQLException {
+    public void checkDatabaseDiscoveryConfig(final String schemaName, final 
Map<String, DataSource> dataSourceMap) {
     }
-
+    
     @Override
-    public void updatePrimaryDataSource(final Map<String, DataSource> 
dataSourceMap, final String schemaName,
+    public void updatePrimaryDataSource(final String schemaName, final 
Map<String, DataSource> dataSourceMap, 
                                         final Collection<String> 
disabledDataSourceNames, final String groupName, final String 
primaryDataSourceName) {
     }
-
+    
     @Override
-    public void updateMemberState(final Map<String, DataSource> dataSourceMap, 
final String schemaName, final Collection<String> disabledDataSourceNames) {
+    public void updateMemberState(final String schemaName, final Map<String, 
DataSource> dataSourceMap, final Collection<String> disabledDataSourceNames) {
     }
-
+    
     @Override
-    public void startPeriodicalUpdate(final Map<String, DataSource> 
dataSourceMap, final String schemaName,
+    public void startPeriodicalUpdate(final String schemaName, final 
Map<String, DataSource> dataSourceMap, 
                                       final Collection<String> 
disabledDataSourceNames, final String groupName, final String 
primaryDataSourceName) {
     }
-
+    
     @Override
     public String getPrimaryDataSource() {
         return null;
     }
-
+    
     @Override
     public String getType() {
         return "TEST";

Reply via email to