You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by me...@apache.org on 2021/11/17 13:58:05 UTC
[shardingsphere] branch master updated: remove primary datasource from job (#13666)
This is an automated email from the ASF dual-hosted git repository.
menghaoran 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 f4a304f remove primary datasource from job (#13666)
f4a304f is described below
commit f4a304f2ff0e9a72f6cea0adefd80ae356982a57
Author: zhaojinchao <33...@users.noreply.github.com>
AuthorDate: Wed Nov 17 21:57:25 2021 +0800
remove primary datasource from job (#13666)
---
.../dbdiscovery/spi/DatabaseDiscoveryType.java | 6 ++---
.../dbdiscovery/rule/DatabaseDiscoveryRule.java | 5 ++---
.../fixture/TestDatabaseDiscoveryType.java | 6 ++---
.../dbdiscovery/mgr/MGRDatabaseDiscoveryType.java | 26 +++++++++-------------
.../dbdiscovery/mgr/MGRHeartbeatJob.java | 4 +---
.../mgr/MGRDatabaseDiscoveryTypeTest.java | 2 +-
.../distsql/fixture/TestDatabaseDiscoveryType.java | 5 ++---
7 files changed, 20 insertions(+), 34 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 bd88ea0..5169411 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
@@ -45,10 +45,9 @@ public interface DatabaseDiscoveryType extends ShardingSphereAlgorithm {
* @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(String schemaName, Map<String, DataSource> dataSourceMap, Collection<String> disabledDataSourceNames, String groupName, String primaryDataSourceName);
+ void updatePrimaryDataSource(String schemaName, Map<String, DataSource> dataSourceMap, Collection<String> disabledDataSourceNames, String groupName);
/**
* Update member state.
@@ -65,10 +64,9 @@ public interface DatabaseDiscoveryType extends ShardingSphereAlgorithm {
* @param dataSourceMap data source map
* @param schemaName schema name
* @param disabledDataSourceNames disabled data source names
- * @param primaryDataSourceName primary data source name
* @param groupName group name
*/
- void startPeriodicalUpdate(String schemaName, Map<String, DataSource> dataSourceMap, Collection<String> disabledDataSourceNames, String groupName, String primaryDataSourceName);
+ void startPeriodicalUpdate(String schemaName, Map<String, DataSource> dataSourceMap, Collection<String> disabledDataSourceNames, String groupName);
/**
* 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 edd9757..070ac84 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
@@ -113,13 +113,12 @@ public final class DatabaseDiscoveryRule implements SchemaRule, DataSourceContai
DatabaseDiscoveryType databaseDiscoveryType = dataSourceRule.getDatabaseDiscoveryType();
Map<String, DataSource> originalDataSourceMap = new HashMap<>(dataSourceMap);
Collection<String> disabledDataSourceNames = dataSourceRule.getDisabledDataSourceNames();
- String primaryDataSourceName = dataSourceRule.getPrimaryDataSourceName();
- databaseDiscoveryType.updatePrimaryDataSource(schemaName, originalDataSourceMap, disabledDataSourceNames, groupName, primaryDataSourceName);
+ databaseDiscoveryType.updatePrimaryDataSource(schemaName, originalDataSourceMap, disabledDataSourceNames, groupName);
dataSourceRule.updatePrimaryDataSourceName(databaseDiscoveryType.getPrimaryDataSource());
databaseDiscoveryType.updateMemberState(schemaName, originalDataSourceMap, disabledDataSourceNames);
try {
databaseDiscoveryType.checkDatabaseDiscoveryConfiguration(schemaName, dataSourceMap);
- databaseDiscoveryType.startPeriodicalUpdate(schemaName, originalDataSourceMap, disabledDataSourceNames, groupName, primaryDataSourceName);
+ databaseDiscoveryType.startPeriodicalUpdate(schemaName, originalDataSourceMap, disabledDataSourceNames, groupName);
} catch (final SQLException ex) {
throw new ShardingSphereException(ex);
}
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 3af56e8..b3dc6ed 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
@@ -31,8 +31,7 @@ public final class TestDatabaseDiscoveryType implements DatabaseDiscoveryType {
}
@Override
- public void updatePrimaryDataSource(final String schemaName, final Map<String, DataSource> activeDataSourceMap, final Collection<String> disabledDataSourceNames,
- final String groupName, final String primaryDataSourceName) {
+ public void updatePrimaryDataSource(final String schemaName, final Map<String, DataSource> activeDataSourceMap, final Collection<String> disabledDataSourceNames, final String groupName) {
}
@Override
@@ -40,8 +39,7 @@ public final class TestDatabaseDiscoveryType implements DatabaseDiscoveryType {
}
@Override
- public void startPeriodicalUpdate(final String schemaName, final Map<String, DataSource> dataSourceMap, final Collection<String> disabledDataSourceNames,
- final String groupName, final String primaryDataSourceName) {
+ public void startPeriodicalUpdate(final String schemaName, final Map<String, DataSource> dataSourceMap, final Collection<String> disabledDataSourceNames, final String groupName) {
}
@Override
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 20ad00b..948a8d8 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
@@ -126,23 +126,18 @@ public final class MGRDatabaseDiscoveryType implements DatabaseDiscoveryType {
}
@Override
- public void updatePrimaryDataSource(final String schemaName, final Map<String, DataSource> dataSourceMap, final Collection<String> disabledDataSourceNames,
- final String groupName, final String primaryDataSourceName) {
+ public void updatePrimaryDataSource(final String schemaName, final Map<String, DataSource> dataSourceMap, final Collection<String> disabledDataSourceNames, final String groupName) {
Map<String, DataSource> activeDataSourceMap = new HashMap<>(dataSourceMap);
if (!disabledDataSourceNames.isEmpty()) {
activeDataSourceMap.entrySet().removeIf(each -> disabledDataSourceNames.contains(each.getKey()));
}
- if (null == primaryDataSourceName || primaryDataSourceName.equals(oldPrimaryDataSource)) {
- String newPrimaryDataSource = determinePrimaryDataSource(activeDataSourceMap);
- if (newPrimaryDataSource.isEmpty()) {
- return;
- }
- if (!newPrimaryDataSource.equals(oldPrimaryDataSource)) {
- oldPrimaryDataSource = newPrimaryDataSource;
- ShardingSphereEventBus.getInstance().post(new PrimaryDataSourceChangedEvent(schemaName, groupName, newPrimaryDataSource));
- }
- } else {
- oldPrimaryDataSource = primaryDataSourceName;
+ String newPrimaryDataSource = determinePrimaryDataSource(activeDataSourceMap);
+ if (newPrimaryDataSource.isEmpty()) {
+ return;
+ }
+ if (!newPrimaryDataSource.equals(oldPrimaryDataSource)) {
+ oldPrimaryDataSource = newPrimaryDataSource;
+ ShardingSphereEventBus.getInstance().post(new PrimaryDataSourceChangedEvent(schemaName, groupName, newPrimaryDataSource));
}
}
@@ -270,8 +265,7 @@ public final class MGRDatabaseDiscoveryType implements DatabaseDiscoveryType {
}
@Override
- public void startPeriodicalUpdate(final String schemaName, final Map<String, DataSource> dataSourceMap, final Collection<String> disabledDataSourceNames,
- final String groupName, final String primaryDataSourceName) {
+ public void startPeriodicalUpdate(final String schemaName, final Map<String, DataSource> dataSourceMap, final Collection<String> disabledDataSourceNames, final String groupName) {
if (null == coordinatorRegistryCenter) {
ZookeeperConfiguration zkConfig = new ZookeeperConfiguration(props.getProperty("zkServerLists"), "mgr-elasticjob");
coordinatorRegistryCenter = new ZookeeperRegistryCenter(zkConfig);
@@ -281,7 +275,7 @@ public final class MGRDatabaseDiscoveryType implements DatabaseDiscoveryType {
SCHEDULE_JOB_BOOTSTRAP_MAP.get(groupName).shutdown();
}
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()));
+ groupName), 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 9852c7b..6979764 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
@@ -42,11 +42,9 @@ public final class MGRHeartbeatJob implements SimpleJob {
private final String groupName;
- private final String primaryDataSourceName;
-
@Override
public void execute(final ShardingContext shardingContext) {
- databaseDiscoveryType.updatePrimaryDataSource(schemaName, dataSourceMap, disabledDataSourceNames, groupName, primaryDataSourceName);
+ databaseDiscoveryType.updatePrimaryDataSource(schemaName, dataSourceMap, disabledDataSourceNames, groupName);
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 1b7d6d5..e47b7ad 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
@@ -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("discovery_db", dataSourceMap, Collections.emptySet(), "group_name", null);
+ mgrHaType.updatePrimaryDataSource("discovery_db", dataSourceMap, Collections.emptySet(), "group_name");
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 7435870..ee47046 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
@@ -32,7 +32,7 @@ public final class TestDatabaseDiscoveryType implements DatabaseDiscoveryType {
@Override
public void updatePrimaryDataSource(final String schemaName, final Map<String, DataSource> dataSourceMap,
- final Collection<String> disabledDataSourceNames, final String groupName, final String primaryDataSourceName) {
+ final Collection<String> disabledDataSourceNames, final String groupName) {
}
@Override
@@ -40,8 +40,7 @@ public final class TestDatabaseDiscoveryType implements DatabaseDiscoveryType {
}
@Override
- public void startPeriodicalUpdate(final String schemaName, final Map<String, DataSource> dataSourceMap,
- final Collection<String> disabledDataSourceNames, final String groupName, final String primaryDataSourceName) {
+ public void startPeriodicalUpdate(final String schemaName, final Map<String, DataSource> dataSourceMap, final Collection<String> disabledDataSourceNames, final String groupName) {
}
@Override