You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2022/04/18 09:03:48 UTC
[shardingsphere] branch master updated: Restructure metadata node to support PG Three-tier structure. (#16892)
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 27f79dee138 Restructure metadata node to support PG Three-tier structure. (#16892)
27f79dee138 is described below
commit 27f79dee138d36cf118d33490a5c6d9d8584ff59
Author: zhaojinchao <zh...@apache.org>
AuthorDate: Mon Apr 18 17:03:31 2022 +0800
Restructure metadata node to support PG Three-tier structure. (#16892)
* Restructure metadata node to support PG Three-tier structure.
* Change schema to database
* Fixed checkstyle
* Fixed CI
* Fixed CI
---
.../metadata/persist/MetaDataPersistService.java | 12 ++--
...MetaDataNode.java => DatabaseMetaDataNode.java} | 80 +++++++++++++---------
...rvice.java => DatabaseBasedPersistService.java} | 26 +++----
...ice.java => DatabaseVersionPersistService.java} | 51 +++++++-------
.../service/SchemaMetaDataPersistService.java | 30 ++++----
.../service/impl/DataSourcePersistService.java | 55 +++++++--------
...ervice.java => DatabaseRulePersistService.java} | 48 ++++++-------
.../persist/MetaDataPersistServiceTest.java | 4 +-
...NodeTest.java => DatabaseMetaDataNodeTest.java} | 52 +++++++-------
.../service/SchemaMetaDataPersistServiceTest.java | 18 ++---
.../service/impl/DataSourcePersistServiceTest.java | 16 ++---
.../service/impl/SchemaRulePersistServiceTest.java | 14 ++--
.../cluster/ClusterContextManagerBuilder.java | 2 +-
.../subscriber/ScalingRegistrySubscriber.java | 24 +++----
.../metadata/watcher/MetaDataChangedWatcher.java | 40 +++++------
.../subscriber/ScalingRegistrySubscriberTest.java | 14 ++--
.../watcher/MetaDataChangedWatcherTest.java | 10 +--
.../StandaloneContextManagerBuilder.java | 2 +-
.../StandaloneContextManagerBuilderTextTest.java | 6 +-
19 files changed, 258 insertions(+), 246 deletions(-)
diff --git a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
index faa13215734..53de4c20e66 100644
--- a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
+++ b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
@@ -27,11 +27,11 @@ import org.apache.shardingsphere.infra.datasource.props.DataSourceProperties;
import org.apache.shardingsphere.infra.datasource.props.DataSourcePropertiesCreator;
import org.apache.shardingsphere.mode.metadata.persist.service.ComputeNodePersistService;
import org.apache.shardingsphere.mode.metadata.persist.service.SchemaMetaDataPersistService;
-import org.apache.shardingsphere.mode.metadata.persist.service.SchemaVersionPersistService;
+import org.apache.shardingsphere.mode.metadata.persist.service.DatabaseVersionPersistService;
import org.apache.shardingsphere.mode.metadata.persist.service.impl.DataSourcePersistService;
import org.apache.shardingsphere.mode.metadata.persist.service.impl.GlobalRulePersistService;
import org.apache.shardingsphere.mode.metadata.persist.service.impl.PropertiesPersistService;
-import org.apache.shardingsphere.mode.metadata.persist.service.impl.SchemaRulePersistService;
+import org.apache.shardingsphere.mode.metadata.persist.service.impl.DatabaseRulePersistService;
import org.apache.shardingsphere.mode.persist.PersistRepository;
import org.apache.shardingsphere.transaction.config.TransactionRuleConfiguration;
@@ -55,7 +55,7 @@ public final class MetaDataPersistService {
private final SchemaMetaDataPersistService schemaMetaDataService;
- private final SchemaRulePersistService schemaRuleService;
+ private final DatabaseRulePersistService schemaRuleService;
private final GlobalRulePersistService globalRuleService;
@@ -63,17 +63,17 @@ public final class MetaDataPersistService {
private final ComputeNodePersistService computeNodePersistService;
- private final SchemaVersionPersistService schemaVersionPersistService;
+ private final DatabaseVersionPersistService schemaVersionPersistService;
public MetaDataPersistService(final PersistRepository repository) {
this.repository = repository;
dataSourceService = new DataSourcePersistService(repository);
schemaMetaDataService = new SchemaMetaDataPersistService(repository);
- schemaRuleService = new SchemaRulePersistService(repository);
+ schemaRuleService = new DatabaseRulePersistService(repository);
globalRuleService = new GlobalRulePersistService(repository);
propsService = new PropertiesPersistService(repository);
computeNodePersistService = new ComputeNodePersistService(repository);
- schemaVersionPersistService = new SchemaVersionPersistService(repository);
+ schemaVersionPersistService = new DatabaseVersionPersistService(repository);
}
/**
diff --git a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/node/SchemaMetaDataNode.java b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/node/DatabaseMetaDataNode.java
similarity index 72%
rename from shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/node/SchemaMetaDataNode.java
rename to shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/node/DatabaseMetaDataNode.java
index 2d4a15d0254..4f34c73d0a5 100644
--- a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/node/SchemaMetaDataNode.java
+++ b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/node/DatabaseMetaDataNode.java
@@ -26,13 +26,15 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
- * Schema meta data node.
+ * Database meta data node.
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class SchemaMetaDataNode {
+public final class DatabaseMetaDataNode {
private static final String ROOT_NODE = "metadata";
+ private static final String SCHEMAS_NODE = "schemas";
+
private static final String DATA_SOURCE_NODE = "dataSources";
private static final String RULE_NODE = "rules";
@@ -73,16 +75,6 @@ public final class SchemaMetaDataNode {
return String.join("/", getMetaDataNodePath(), databaseName);
}
- /**
- * Get schema name path.
- *
- * @param schemaName schema name
- * @return schema name path
- */
- public static String getSchemaNamePath(final String schemaName) {
- return String.join("/", "", ROOT_NODE, schemaName);
- }
-
/**
* Get rule path.
*
@@ -102,7 +94,17 @@ public final class SchemaMetaDataNode {
* @return tables path
*/
public static String getMetaDataTablesPath(final String databaseName, final String schemaName) {
- return String.join("/", getDatabaseNamePath(databaseName), schemaName, TABLES_NODE);
+ return String.join("/", getMetaDataSchemasPath(databaseName), schemaName, TABLES_NODE);
+ }
+
+ /**
+ * Get meta data schemas path.
+ *
+ * @param databaseName database name
+ * @return schemas path
+ */
+ public static String getMetaDataSchemasPath(final String databaseName) {
+ return String.join("/", getDatabaseNamePath(databaseName), SCHEMAS_NODE);
}
/**
@@ -118,30 +120,42 @@ public final class SchemaMetaDataNode {
}
private static String getFullMetaDataPath(final String databaseName, final String node) {
- return String.join("/", "", ROOT_NODE, databaseName, databaseName, node);
+ return String.join("/", "", ROOT_NODE, databaseName, node);
+ }
+
+ /**
+ * Get database name.
+ *
+ * @param configNodeFullPath config node full path
+ * @return database name
+ */
+ public static Optional<String> getDatabaseName(final String configNodeFullPath) {
+ Pattern pattern = Pattern.compile(getMetaDataNodePath() + "/([\\w\\-]+)/([\\w\\-]+)" + "(/datasources|/rules|/tables)?", Pattern.CASE_INSENSITIVE);
+ Matcher matcher = pattern.matcher(configNodeFullPath);
+ return matcher.find() ? Optional.of(matcher.group(1)) : Optional.empty();
}
/**
* Get schema name.
*
- * @param configurationNodeFullPath configuration node full path
+ * @param configNodeFullPath config node full path
* @return schema name
*/
- public static Optional<String> getSchemaName(final String configurationNodeFullPath) {
+ public static Optional<String> getSchemaName(final String configNodeFullPath) {
Pattern pattern = Pattern.compile(getMetaDataNodePath() + "/([\\w\\-]+)/([\\w\\-]+)" + "(/datasources|/rules|/tables)?", Pattern.CASE_INSENSITIVE);
- Matcher matcher = pattern.matcher(configurationNodeFullPath);
+ Matcher matcher = pattern.matcher(configNodeFullPath);
return matcher.find() ? Optional.of(matcher.group(2)) : Optional.empty();
}
/**
- * Get schema name by schema path.
+ * Get database name by database path.
*
- * @param schemaPath schema path
- * @return schema name
+ * @param databasePath database path
+ * @return database name
*/
- public static Optional<String> getDatabaseNameBySchemaPath(final String schemaPath) {
+ public static Optional<String> getDatabaseNameByDatabasePath(final String databasePath) {
Pattern pattern = Pattern.compile(getMetaDataNodePath() + "/([\\w\\-]+)$", Pattern.CASE_INSENSITIVE);
- Matcher matcher = pattern.matcher(schemaPath);
+ Matcher matcher = pattern.matcher(databasePath);
return matcher.find() ? Optional.of(matcher.group(1)) : Optional.empty();
}
@@ -152,9 +166,9 @@ public final class SchemaMetaDataNode {
* @return table name
*/
public static Optional<String> getTableName(final String tableMetaDataPath) {
- Pattern pattern = Pattern.compile(getMetaDataNodePath() + "/([\\w\\-]+)/([\\w\\-]+)/tables" + "/([\\w\\-]+)$", Pattern.CASE_INSENSITIVE);
+ Pattern pattern = Pattern.compile(getMetaDataNodePath() + "/([\\w\\-]+)/([\\w\\-]+)/([\\w\\-]+)/tables" + "/([\\w\\-]+)$", Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(tableMetaDataPath);
- return matcher.find() ? Optional.of(matcher.group(3)) : Optional.empty();
+ return matcher.find() ? Optional.of(matcher.group(4)) : Optional.empty();
}
/**
@@ -168,14 +182,14 @@ public final class SchemaMetaDataNode {
}
/**
- * Get schema version path.
+ * Get database version path.
*
- * @param schemaName schema name
+ * @param databaseName database name
* @param version version
- * @return schema version path
+ * @return database version path
*/
- public static String getSchemaVersionPath(final String schemaName, final String version) {
- return Joiner.on("/").join(getFullMetaDataPath(schemaName, VERSIONS), version);
+ public static String getDatabaseVersionPath(final String databaseName, final String version) {
+ return Joiner.on("/").join(getFullMetaDataPath(databaseName, VERSIONS), version);
}
/**
@@ -185,9 +199,9 @@ public final class SchemaMetaDataNode {
* @return version
*/
public static Optional<String> getVersionByDataSourcesPath(final String dataSourceNodeFullPath) {
- Pattern pattern = Pattern.compile(getMetaDataNodePath() + "/([\\w\\-]+)/([\\w\\-]+)" + "/versions/([\\w\\-]+)/dataSources", Pattern.CASE_INSENSITIVE);
+ Pattern pattern = Pattern.compile(getMetaDataNodePath() + "/([\\w\\-]+)/versions/([\\w\\-]+)/dataSources", Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(dataSourceNodeFullPath);
- return matcher.find() ? Optional.of(matcher.group(3)) : Optional.empty();
+ return matcher.find() ? Optional.of(matcher.group(2)) : Optional.empty();
}
/**
@@ -197,8 +211,8 @@ public final class SchemaMetaDataNode {
* @return version
*/
public static Optional<String> getVersionByRulesPath(final String rulesNodeFullPath) {
- Pattern pattern = Pattern.compile(getMetaDataNodePath() + "/([\\w\\-]+)/([\\w\\-]+)" + "/versions/([\\w\\-]+)/rules", Pattern.CASE_INSENSITIVE);
+ Pattern pattern = Pattern.compile(getMetaDataNodePath() + "/([\\w\\-]+)/versions/([\\w\\-]+)/rules", Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(rulesNodeFullPath);
- return matcher.find() ? Optional.of(matcher.group(3)) : Optional.empty();
+ return matcher.find() ? Optional.of(matcher.group(2)) : Optional.empty();
}
}
diff --git a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaBasedPersistService.java b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/DatabaseBasedPersistService.java
similarity index 73%
rename from shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaBasedPersistService.java
rename to shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/DatabaseBasedPersistService.java
index cb9e852d412..3c5c6256d24 100644
--- a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaBasedPersistService.java
+++ b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/DatabaseBasedPersistService.java
@@ -22,56 +22,56 @@ package org.apache.shardingsphere.mode.metadata.persist.service;
*
* @param <T> type of configuration
*/
-public interface SchemaBasedPersistService<T> {
+public interface DatabaseBasedPersistService<T> {
/**
* Persist configurations.
*
- * @param schemaName schema name
+ * @param databaseName database name
* @param configs configurations
* @param isOverwrite is overwrite
*/
- void persist(String schemaName, T configs, boolean isOverwrite);
+ void persist(String databaseName, T configs, boolean isOverwrite);
/**
* Persist configurations.
*
- * @param schemaName schema name
+ * @param databaseName database name
* @param configs configurations
*/
- void persist(String schemaName, T configs);
+ void persist(String databaseName, T configs);
/**
* Persist version configurations.
*
- * @param schemaName schema name
+ * @param databaseName database name
* @param version version
* @param configs configurations
*/
- void persist(String schemaName, String version, T configs);
+ void persist(String databaseName, String version, T configs);
/**
* Load configurations.
*
- * @param schemaName schema name
+ * @param databaseName database name
* @return configurations
*/
- T load(String schemaName);
+ T load(String databaseName);
/**
* Load configurations based version.
*
- * @param schemaName schema name
+ * @param databaseName database name
* @param version version
* @return configurations
*/
- T load(String schemaName, String version);
+ T load(String databaseName, String version);
/**
* Judge whether schema configuration existed.
*
- * @param schemaName schema name
+ * @param databaseName database name
* @return configuration existed or not
*/
- boolean isExisted(String schemaName);
+ boolean isExisted(String databaseName);
}
diff --git a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaVersionPersistService.java b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/DatabaseVersionPersistService.java
similarity index 51%
rename from shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaVersionPersistService.java
rename to shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/DatabaseVersionPersistService.java
index c2e9bc23b25..fc112739415 100644
--- a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaVersionPersistService.java
+++ b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/DatabaseVersionPersistService.java
@@ -18,79 +18,80 @@
package org.apache.shardingsphere.mode.metadata.persist.service;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.mode.metadata.persist.node.SchemaMetaDataNode;
+import org.apache.shardingsphere.mode.metadata.persist.node.DatabaseMetaDataNode;
import org.apache.shardingsphere.mode.persist.PersistRepository;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicLong;
/**
- * Schema version persist service.
+ * Database version persist service.
*/
@RequiredArgsConstructor
-public final class SchemaVersionPersistService {
+public final class DatabaseVersionPersistService {
private final PersistRepository repository;
/**
- * Get schema active version.
+ * Get database active version.
*
- * @param schemaName schema name
+ * @param databaseName database name
* @return active version
*/
- public Optional<String> getSchemaActiveVersion(final String schemaName) {
- return Optional.ofNullable(repository.get(SchemaMetaDataNode.getActiveVersionPath(schemaName)));
+ public Optional<String> getDatabaseActiveVersion(final String databaseName) {
+ return Optional.ofNullable(repository.get(DatabaseMetaDataNode.getActiveVersionPath(databaseName)));
}
/**
* Verify the version is the active version.
*
- * @param schemaName schema name
+ * @param databaseName database name
* @param version version
* @return true if the version is active version, false if not
*/
- public boolean isActiveVersion(final String schemaName, final String version) {
- Optional<String> actualVersion = getSchemaActiveVersion(schemaName);
+ public boolean isActiveVersion(final String databaseName, final String version) {
+ Optional<String> actualVersion = getDatabaseActiveVersion(databaseName);
return actualVersion.isPresent() && actualVersion.get().equals(version);
}
/**
* Create new schema version.
*
- * @param schemaName schema name
+ * @param databaseName database name
* @return new version
*/
- public Optional<String> createNewVersion(final String schemaName) {
- Optional<String> activeVersion = getSchemaActiveVersion(schemaName);
+ public Optional<String> createNewVersion(final String databaseName) {
+ Optional<String> activeVersion = getDatabaseActiveVersion(databaseName);
if (activeVersion.isPresent()) {
- String newVersion = String.valueOf(new AtomicLong(Long.valueOf(activeVersion.get())).incrementAndGet());
- repository.persist(SchemaMetaDataNode.getRulePath(schemaName, newVersion), repository.get(SchemaMetaDataNode.getRulePath(schemaName, activeVersion.get())));
- repository.persist(SchemaMetaDataNode.getMetaDataDataSourcePath(schemaName, newVersion), repository.get(SchemaMetaDataNode.getMetaDataDataSourcePath(schemaName, activeVersion.get())));
+ String newVersion = String.valueOf(new AtomicLong(Long.parseLong(activeVersion.get())).incrementAndGet());
+ repository.persist(DatabaseMetaDataNode.getRulePath(databaseName, newVersion), repository.get(DatabaseMetaDataNode.getRulePath(databaseName, activeVersion.get())));
+ repository.persist(DatabaseMetaDataNode.getMetaDataDataSourcePath(databaseName, newVersion),
+ repository.get(DatabaseMetaDataNode.getMetaDataDataSourcePath(databaseName, activeVersion.get())));
return Optional.of(newVersion);
}
return Optional.empty();
}
/**
- * Persist active schema version.
+ * Persist active database version.
*
- * @param schemaName schema name
+ * @param databaseName database name
* @param version version
*/
- public void persistActiveVersion(final String schemaName, final String version) {
- Optional<String> activeVersion = getSchemaActiveVersion(schemaName);
+ public void persistActiveVersion(final String databaseName, final String version) {
+ Optional<String> activeVersion = getDatabaseActiveVersion(databaseName);
if (activeVersion.isPresent() && !activeVersion.get().equals(version)) {
- repository.persist(SchemaMetaDataNode.getActiveVersionPath(schemaName), version);
+ repository.persist(DatabaseMetaDataNode.getActiveVersionPath(databaseName), version);
}
}
/**
- * Delete schema version.
+ * Delete database version.
*
- * @param schemaName schema name
+ * @param databaseName database name
* @param version version
*/
- public void deleteVersion(final String schemaName, final String version) {
- repository.delete(SchemaMetaDataNode.getSchemaVersionPath(schemaName, version));
+ public void deleteVersion(final String databaseName, final String version) {
+ repository.delete(DatabaseMetaDataNode.getDatabaseVersionPath(databaseName, version));
}
}
diff --git a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaMetaDataPersistService.java b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaMetaDataPersistService.java
index ea2c1e21f65..e583ab737a5 100644
--- a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaMetaDataPersistService.java
+++ b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaMetaDataPersistService.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.infra.metadata.schema.model.TableMetaData;
import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
import org.apache.shardingsphere.infra.yaml.schema.pojo.YamlTableMetaData;
import org.apache.shardingsphere.infra.yaml.schema.swapper.TableMetaDataYamlSwapper;
-import org.apache.shardingsphere.mode.metadata.persist.node.SchemaMetaDataNode;
+import org.apache.shardingsphere.mode.metadata.persist.node.DatabaseMetaDataNode;
import org.apache.shardingsphere.mode.persist.PersistRepository;
import java.util.Collection;
@@ -65,7 +65,7 @@ public final class SchemaMetaDataPersistService {
* @param tableMetaData table meta data
*/
public void persist(final String schemaName, final TableMetaData tableMetaData) {
- repository.persist(SchemaMetaDataNode.getTableMetaDataPath(schemaName, schemaName, tableMetaData.getName().toLowerCase()),
+ repository.persist(DatabaseMetaDataNode.getTableMetaDataPath(schemaName, schemaName, tableMetaData.getName().toLowerCase()),
YamlEngine.marshal(new TableMetaDataYamlSwapper().swapToYamlConfiguration(tableMetaData)));
}
@@ -77,7 +77,7 @@ public final class SchemaMetaDataPersistService {
* @param tableMetaData table meta data
*/
public void persist(final String databaseName, final String schemaName, final TableMetaData tableMetaData) {
- repository.persist(SchemaMetaDataNode.getTableMetaDataPath(databaseName, schemaName, tableMetaData.getName().toLowerCase()),
+ repository.persist(DatabaseMetaDataNode.getTableMetaDataPath(databaseName, schemaName, tableMetaData.getName().toLowerCase()),
YamlEngine.marshal(new TableMetaDataYamlSwapper().swapToYamlConfiguration(tableMetaData)));
}
@@ -87,7 +87,7 @@ public final class SchemaMetaDataPersistService {
* @param schemaName schema name
*/
public void persist(final String schemaName) {
- repository.persist(SchemaMetaDataNode.getMetaDataTablesPath(schemaName, schemaName), "");
+ repository.persist(DatabaseMetaDataNode.getMetaDataTablesPath(schemaName, schemaName), "");
}
private void compareAndPersist(final String databaseName, final String schemaName, final ShardingSphereSchema schema, final ShardingSphereSchema originalSchema) {
@@ -109,17 +109,17 @@ public final class SchemaMetaDataPersistService {
}
private void persistTables(final String databaseName, final String schemaName, final Map<String, TableMetaData> tables) {
- tables.forEach((key, value) -> repository.persist(SchemaMetaDataNode.getTableMetaDataPath(databaseName, schemaName, key),
+ tables.forEach((key, value) -> repository.persist(DatabaseMetaDataNode.getTableMetaDataPath(databaseName, schemaName, key),
YamlEngine.marshal(new TableMetaDataYamlSwapper().swapToYamlConfiguration(value))));
}
/**
- * Delete schema.
+ * Delete database.
*
- * @param schemaName schema name to be deleted
+ * @param databaseName database name to be deleted
*/
- public void delete(final String schemaName) {
- repository.delete(SchemaMetaDataNode.getSchemaNamePath(schemaName));
+ public void delete(final String databaseName) {
+ repository.delete(DatabaseMetaDataNode.getDatabaseNamePath(databaseName));
}
/**
@@ -129,7 +129,7 @@ public final class SchemaMetaDataPersistService {
* @param tableName table name
*/
public void delete(final String schemaName, final String tableName) {
- repository.delete(SchemaMetaDataNode.getTableMetaDataPath(schemaName, schemaName, tableName));
+ repository.delete(DatabaseMetaDataNode.getTableMetaDataPath(schemaName, schemaName, tableName));
}
/**
@@ -140,7 +140,7 @@ public final class SchemaMetaDataPersistService {
* @param tableName table name
*/
public void delete(final String databaseName, final String schemaName, final String tableName) {
- repository.delete(SchemaMetaDataNode.getTableMetaDataPath(databaseName, schemaName, tableName));
+ repository.delete(DatabaseMetaDataNode.getTableMetaDataPath(databaseName, schemaName, tableName));
}
/**
@@ -151,13 +151,13 @@ public final class SchemaMetaDataPersistService {
* @return Loaded schema
*/
public Optional<ShardingSphereSchema> load(final String databaseName, final String schemaName) {
- Collection<String> tables = repository.getChildrenKeys(SchemaMetaDataNode.getMetaDataTablesPath(databaseName, schemaName));
+ Collection<String> tables = repository.getChildrenKeys(DatabaseMetaDataNode.getMetaDataTablesPath(databaseName, schemaName));
if (tables.isEmpty()) {
return Optional.empty();
}
ShardingSphereSchema schema = new ShardingSphereSchema();
tables.forEach(each -> {
- String content = repository.get(SchemaMetaDataNode.getTableMetaDataPath(databaseName, schemaName, each));
+ String content = repository.get(DatabaseMetaDataNode.getTableMetaDataPath(databaseName, schemaName, each));
TableMetaData tableMetaData = new TableMetaDataYamlSwapper().swapToObject(YamlEngine.unmarshal(content, YamlTableMetaData.class));
schema.getTables().put(each, tableMetaData);
});
@@ -169,7 +169,7 @@ public final class SchemaMetaDataPersistService {
*
* @return all database names
*/
- public Collection<String> loadAllNames() {
- return repository.getChildrenKeys(SchemaMetaDataNode.getMetaDataNodePath());
+ public Collection<String> loadAllDatabaseNames() {
+ return repository.getChildrenKeys(DatabaseMetaDataNode.getMetaDataNodePath());
}
}
diff --git a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/DataSourcePersistService.java b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/DataSourcePersistService.java
index dae6fa2cfdb..67e1f476f62 100644
--- a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/DataSourcePersistService.java
+++ b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/DataSourcePersistService.java
@@ -22,8 +22,8 @@ import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.datasource.props.DataSourceProperties;
import org.apache.shardingsphere.infra.yaml.config.swapper.YamlDataSourceConfigurationSwapper;
import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
-import org.apache.shardingsphere.mode.metadata.persist.node.SchemaMetaDataNode;
-import org.apache.shardingsphere.mode.metadata.persist.service.SchemaBasedPersistService;
+import org.apache.shardingsphere.mode.metadata.persist.node.DatabaseMetaDataNode;
+import org.apache.shardingsphere.mode.metadata.persist.service.DatabaseBasedPersistService;
import org.apache.shardingsphere.mode.persist.PersistRepository;
import java.util.Collection;
@@ -36,30 +36,31 @@ import java.util.stream.Collectors;
* Data source persist service.
*/
@RequiredArgsConstructor
-public final class DataSourcePersistService implements SchemaBasedPersistService<Map<String, DataSourceProperties>> {
+public final class DataSourcePersistService implements DatabaseBasedPersistService<Map<String, DataSourceProperties>> {
private static final String DEFAULT_VERSION = "0";
private final PersistRepository repository;
@Override
- public void persist(final String schemaName, final Map<String, DataSourceProperties> dataSourcePropsMap, final boolean isOverwrite) {
- if (!dataSourcePropsMap.isEmpty() && (isOverwrite || !isExisted(schemaName))) {
- persist(schemaName, dataSourcePropsMap);
+ public void persist(final String databaseName, final Map<String, DataSourceProperties> dataSourcePropsMap, final boolean isOverwrite) {
+ if (!dataSourcePropsMap.isEmpty() && (isOverwrite || !isExisted(databaseName))) {
+ persist(databaseName, dataSourcePropsMap);
}
}
@Override
- public void persist(final String schemaName, final Map<String, DataSourceProperties> dataSourcePropsMap) {
- if (Strings.isNullOrEmpty(getSchemaActiveVersion(schemaName))) {
- repository.persist(SchemaMetaDataNode.getActiveVersionPath(schemaName), DEFAULT_VERSION);
+ public void persist(final String databaseName, final Map<String, DataSourceProperties> dataSourcePropsMap) {
+ if (Strings.isNullOrEmpty(getDatabaseActiveVersion(databaseName))) {
+ repository.persist(DatabaseMetaDataNode.getActiveVersionPath(databaseName), DEFAULT_VERSION);
}
- repository.persist(SchemaMetaDataNode.getMetaDataDataSourcePath(schemaName, getSchemaActiveVersion(schemaName)), YamlEngine.marshal(swapYamlDataSourceConfiguration(dataSourcePropsMap)));
+ repository.persist(DatabaseMetaDataNode.getMetaDataDataSourcePath(databaseName, getDatabaseActiveVersion(databaseName)),
+ YamlEngine.marshal(swapYamlDataSourceConfiguration(dataSourcePropsMap)));
}
@Override
- public void persist(final String schemaName, final String version, final Map<String, DataSourceProperties> dataSourcePropsMap) {
- repository.persist(SchemaMetaDataNode.getMetaDataDataSourcePath(schemaName, version), YamlEngine.marshal(swapYamlDataSourceConfiguration(dataSourcePropsMap)));
+ public void persist(final String databaseName, final String version, final Map<String, DataSourceProperties> dataSourcePropsMap) {
+ repository.persist(DatabaseMetaDataNode.getMetaDataDataSourcePath(databaseName, version), YamlEngine.marshal(swapYamlDataSourceConfiguration(dataSourcePropsMap)));
}
private Map<String, Map<String, Object>> swapYamlDataSourceConfiguration(final Map<String, DataSourceProperties> dataSourcePropsMap) {
@@ -70,12 +71,12 @@ public final class DataSourcePersistService implements SchemaBasedPersistService
@Override
public Map<String, DataSourceProperties> load(final String databaseName) {
return isExisted(databaseName) ? getDataSourceProperties(repository.get(
- SchemaMetaDataNode.getMetaDataDataSourcePath(databaseName, getSchemaActiveVersion(databaseName)))) : new LinkedHashMap<>();
+ DatabaseMetaDataNode.getMetaDataDataSourcePath(databaseName, getDatabaseActiveVersion(databaseName)))) : new LinkedHashMap<>();
}
@Override
- public Map<String, DataSourceProperties> load(final String schemaName, final String version) {
- String yamlContent = repository.get(SchemaMetaDataNode.getMetaDataDataSourcePath(schemaName, version));
+ public Map<String, DataSourceProperties> load(final String databaseName, final String version) {
+ String yamlContent = repository.get(DatabaseMetaDataNode.getMetaDataDataSourcePath(databaseName, version));
return Strings.isNullOrEmpty(yamlContent) ? new LinkedHashMap<>() : getDataSourceProperties(yamlContent);
}
@@ -92,37 +93,37 @@ public final class DataSourcePersistService implements SchemaBasedPersistService
@Override
public boolean isExisted(final String databaseName) {
- return !Strings.isNullOrEmpty(getSchemaActiveVersion(databaseName)) && !Strings.isNullOrEmpty(repository.get(SchemaMetaDataNode.getMetaDataDataSourcePath(databaseName,
- getSchemaActiveVersion(databaseName))));
+ return !Strings.isNullOrEmpty(getDatabaseActiveVersion(databaseName)) && !Strings.isNullOrEmpty(repository.get(DatabaseMetaDataNode.getMetaDataDataSourcePath(databaseName,
+ getDatabaseActiveVersion(databaseName))));
}
/**
* Append data source properties map.
*
- * @param schemaName schema name
+ * @param databaseName database name
* @param toBeAppendedDataSourcePropsMap data source properties map to be appended
*/
- public void append(final String schemaName, final Map<String, DataSourceProperties> toBeAppendedDataSourcePropsMap) {
- Map<String, DataSourceProperties> dataSourceConfigs = load(schemaName);
+ public void append(final String databaseName, final Map<String, DataSourceProperties> toBeAppendedDataSourcePropsMap) {
+ Map<String, DataSourceProperties> dataSourceConfigs = load(databaseName);
dataSourceConfigs.putAll(toBeAppendedDataSourcePropsMap);
- persist(schemaName, dataSourceConfigs);
+ persist(databaseName, dataSourceConfigs);
}
/**
* Drop data sources.
*
- * @param schemaName schema name
+ * @param databaseName database name
* @param toBeDroppedDataSourceNames data sources to be dropped
*/
- public void drop(final String schemaName, final Collection<String> toBeDroppedDataSourceNames) {
- Map<String, DataSourceProperties> dataSourcePropsMap = load(schemaName);
+ public void drop(final String databaseName, final Collection<String> toBeDroppedDataSourceNames) {
+ Map<String, DataSourceProperties> dataSourcePropsMap = load(databaseName);
for (String each : toBeDroppedDataSourceNames) {
dataSourcePropsMap.remove(each);
}
- persist(schemaName, dataSourcePropsMap);
+ persist(databaseName, dataSourcePropsMap);
}
- private String getSchemaActiveVersion(final String databaseName) {
- return repository.get(SchemaMetaDataNode.getActiveVersionPath(databaseName));
+ private String getDatabaseActiveVersion(final String databaseName) {
+ return repository.get(DatabaseMetaDataNode.getActiveVersionPath(databaseName));
}
}
diff --git a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/SchemaRulePersistService.java b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/DatabaseRulePersistService.java
similarity index 50%
rename from shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/SchemaRulePersistService.java
rename to shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/DatabaseRulePersistService.java
index e8ae7717afe..7358280aeb0 100644
--- a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/SchemaRulePersistService.java
+++ b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/DatabaseRulePersistService.java
@@ -23,8 +23,8 @@ import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.yaml.config.pojo.YamlRuleConfiguration;
import org.apache.shardingsphere.infra.yaml.config.swapper.YamlRuleConfigurationSwapperEngine;
import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
-import org.apache.shardingsphere.mode.metadata.persist.node.SchemaMetaDataNode;
-import org.apache.shardingsphere.mode.metadata.persist.service.SchemaBasedPersistService;
+import org.apache.shardingsphere.mode.metadata.persist.node.DatabaseMetaDataNode;
+import org.apache.shardingsphere.mode.metadata.persist.service.DatabaseBasedPersistService;
import org.apache.shardingsphere.mode.persist.PersistRepository;
import java.util.Collection;
@@ -34,30 +34,30 @@ import java.util.LinkedList;
* Schema rule persist service.
*/
@RequiredArgsConstructor
-public final class SchemaRulePersistService implements SchemaBasedPersistService<Collection<RuleConfiguration>> {
+public final class DatabaseRulePersistService implements DatabaseBasedPersistService<Collection<RuleConfiguration>> {
private static final String DEFAULT_VERSION = "0";
private final PersistRepository repository;
@Override
- public void persist(final String schemaName, final Collection<RuleConfiguration> configs, final boolean isOverwrite) {
- if (!configs.isEmpty() && (isOverwrite || !isExisted(schemaName))) {
- persist(schemaName, configs);
+ public void persist(final String databaseName, final Collection<RuleConfiguration> configs, final boolean isOverwrite) {
+ if (!configs.isEmpty() && (isOverwrite || !isExisted(databaseName))) {
+ persist(databaseName, configs);
}
}
@Override
- public void persist(final String schemaName, final Collection<RuleConfiguration> configs) {
- if (Strings.isNullOrEmpty(getSchemaActiveVersion(schemaName))) {
- repository.persist(SchemaMetaDataNode.getActiveVersionPath(schemaName), DEFAULT_VERSION);
+ public void persist(final String databaseName, final Collection<RuleConfiguration> configs) {
+ if (Strings.isNullOrEmpty(getDatabaseActiveVersion(databaseName))) {
+ repository.persist(DatabaseMetaDataNode.getActiveVersionPath(databaseName), DEFAULT_VERSION);
}
- repository.persist(SchemaMetaDataNode.getRulePath(schemaName, getSchemaActiveVersion(schemaName)), YamlEngine.marshal(createYamlRuleConfigurations(configs)));
+ repository.persist(DatabaseMetaDataNode.getRulePath(databaseName, getDatabaseActiveVersion(databaseName)), YamlEngine.marshal(createYamlRuleConfigurations(configs)));
}
@Override
- public void persist(final String schemaName, final String version, final Collection<RuleConfiguration> configs) {
- repository.persist(SchemaMetaDataNode.getRulePath(schemaName, version), YamlEngine.marshal(createYamlRuleConfigurations(configs)));
+ public void persist(final String databaseName, final String version, final Collection<RuleConfiguration> configs) {
+ repository.persist(DatabaseMetaDataNode.getRulePath(databaseName, version), YamlEngine.marshal(createYamlRuleConfigurations(configs)));
}
private Collection<YamlRuleConfiguration> createYamlRuleConfigurations(final Collection<RuleConfiguration> ruleConfigs) {
@@ -66,27 +66,29 @@ public final class SchemaRulePersistService implements SchemaBasedPersistService
@SuppressWarnings("unchecked")
@Override
- public Collection<RuleConfiguration> load(final String schemaName) {
- return isExisted(schemaName)
+ public Collection<RuleConfiguration> load(final String databaseName) {
+ return isExisted(databaseName)
// TODO process algorithm provided configuration
- ? new YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(YamlEngine.unmarshal(repository.get(SchemaMetaDataNode.getRulePath(schemaName,
- getSchemaActiveVersion(schemaName))), Collection.class, true))
+ ? new YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(YamlEngine.unmarshal(repository.get(DatabaseMetaDataNode.getRulePath(databaseName,
+ getDatabaseActiveVersion(databaseName))), Collection.class, true))
: new LinkedList<>();
}
+ @SuppressWarnings("unchecked")
@Override
public Collection<RuleConfiguration> load(final String schemaName, final String version) {
- String yamlContent = repository.get(SchemaMetaDataNode.getRulePath(schemaName, version));
- return Strings.isNullOrEmpty(yamlContent) ? new LinkedList<>() : new YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(YamlEngine.unmarshal(repository.get(SchemaMetaDataNode
- .getRulePath(schemaName, getSchemaActiveVersion(schemaName))), Collection.class, true));
+ String yamlContent = repository.get(DatabaseMetaDataNode.getRulePath(schemaName, version));
+ return Strings.isNullOrEmpty(yamlContent) ? new LinkedList<>() : new YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(YamlEngine.unmarshal(repository.get(DatabaseMetaDataNode
+ .getRulePath(schemaName, getDatabaseActiveVersion(schemaName))), Collection.class, true));
}
@Override
- public boolean isExisted(final String schemaName) {
- return !Strings.isNullOrEmpty(getSchemaActiveVersion(schemaName)) && !Strings.isNullOrEmpty(repository.get(SchemaMetaDataNode.getRulePath(schemaName, getSchemaActiveVersion(schemaName))));
+ public boolean isExisted(final String databaseName) {
+ return !Strings.isNullOrEmpty(getDatabaseActiveVersion(databaseName))
+ && !Strings.isNullOrEmpty(repository.get(DatabaseMetaDataNode.getRulePath(databaseName, getDatabaseActiveVersion(databaseName))));
}
- private String getSchemaActiveVersion(final String schemaName) {
- return repository.get(SchemaMetaDataNode.getActiveVersionPath(schemaName));
+ private String getDatabaseActiveVersion(final String databaseName) {
+ return repository.get(DatabaseMetaDataNode.getActiveVersionPath(databaseName));
}
}
diff --git a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistServiceTest.java b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistServiceTest.java
index 1deed2770e6..682e42ada7f 100644
--- a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistServiceTest.java
+++ b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistServiceTest.java
@@ -30,7 +30,7 @@ import org.apache.shardingsphere.mode.metadata.persist.service.ComputeNodePersis
import org.apache.shardingsphere.mode.metadata.persist.service.impl.DataSourcePersistService;
import org.apache.shardingsphere.mode.metadata.persist.service.impl.GlobalRulePersistService;
import org.apache.shardingsphere.mode.metadata.persist.service.impl.PropertiesPersistService;
-import org.apache.shardingsphere.mode.metadata.persist.service.impl.SchemaRulePersistService;
+import org.apache.shardingsphere.mode.metadata.persist.service.impl.DatabaseRulePersistService;
import org.apache.shardingsphere.mode.persist.PersistRepository;
import org.apache.shardingsphere.test.mock.MockedDataSource;
import org.junit.Before;
@@ -66,7 +66,7 @@ public final class MetaDataPersistServiceTest {
private DataSourcePersistService dataSourceService;
@Mock
- private SchemaRulePersistService schemaRuleService;
+ private DatabaseRulePersistService schemaRuleService;
@Mock
private GlobalRulePersistService globalRuleService;
diff --git a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/node/SchemaMetaDataNodeTest.java b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/node/DatabaseMetaDataNodeTest.java
similarity index 51%
rename from shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/node/SchemaMetaDataNodeTest.java
rename to shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/node/DatabaseMetaDataNodeTest.java
index 136a0a0e806..972b1838c32 100644
--- a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/node/SchemaMetaDataNodeTest.java
+++ b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/node/DatabaseMetaDataNodeTest.java
@@ -26,87 +26,87 @@ import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
-public class SchemaMetaDataNodeTest {
+public class DatabaseMetaDataNodeTest {
@Test
public void assertGetRulePath() {
- assertThat(SchemaMetaDataNode.getRulePath(DefaultSchema.LOGIC_NAME, "0"), is("/metadata/logic_db/logic_db/versions/0/rules"));
+ assertThat(DatabaseMetaDataNode.getRulePath(DefaultSchema.LOGIC_NAME, "0"), is("/metadata/logic_db/versions/0/rules"));
}
@Test
- public void assertGetSchemaName() {
- Optional<String> actualSchemaName = SchemaMetaDataNode.getSchemaName("/metadata/logic_db/logic_schema/rules");
+ public void assertGetDatabaseName() {
+ Optional<String> actualSchemaName = DatabaseMetaDataNode.getDatabaseName("/metadata/logic_db/logic_schema/rules");
assertTrue(actualSchemaName.isPresent());
- assertThat(actualSchemaName.get(), is("logic_schema"));
+ assertThat(actualSchemaName.get(), is("logic_db"));
}
@Test
- public void assertGetSchemaNameWithLine() {
- Optional<String> actualSchemaName = SchemaMetaDataNode.getSchemaName("/metadata/logic-db-test/logic-db-schema/rules");
+ public void assertGetDatabaseNameWithLine() {
+ Optional<String> actualSchemaName = DatabaseMetaDataNode.getDatabaseName("/metadata/logic-db-test/logic-db-schema/rules");
assertTrue(actualSchemaName.isPresent());
- assertThat(actualSchemaName.get(), is("logic-db-schema"));
+ assertThat(actualSchemaName.get(), is("logic-db-test"));
}
@Test
- public void assertGetSchemaNamePath() {
- assertThat(SchemaMetaDataNode.getSchemaNamePath("sharding_db"), is("/metadata/sharding_db"));
+ public void assertGetDatabaseNamePath() {
+ assertThat(DatabaseMetaDataNode.getDatabaseNamePath("sharding_db"), is("/metadata/sharding_db"));
}
@Test
public void assertGetMetaDataTablesPath() {
- assertThat(SchemaMetaDataNode.getMetaDataTablesPath("sharding_db", "sharding_db"), is("/metadata/sharding_db/sharding_db/tables"));
+ assertThat(DatabaseMetaDataNode.getMetaDataTablesPath("sharding_db", "sharding_schema"), is("/metadata/sharding_db/schemas/sharding_schema/tables"));
}
@Test
- public void assertGetDatabaseNameBySchemaPath() {
- Optional<String> actualSchemaName = SchemaMetaDataNode.getDatabaseNameBySchemaPath("/metadata/logic_db");
+ public void assertGetDatabaseNameByDatabasePath() {
+ Optional<String> actualSchemaName = DatabaseMetaDataNode.getDatabaseNameByDatabasePath("/metadata/logic_db");
assertTrue(actualSchemaName.isPresent());
assertThat(actualSchemaName.get(), is("logic_db"));
}
@Test
public void assertGetTableName() {
- Optional<String> actualTableName = SchemaMetaDataNode.getTableName("/metadata/logic_db/logic_schema/tables/t_order");
+ Optional<String> actualTableName = DatabaseMetaDataNode.getTableName("/metadata/logic_db/schemas/logic_schema/tables/t_order");
assertTrue(actualTableName.isPresent());
assertThat(actualTableName.get(), is("t_order"));
}
@Test
public void assertGetVersionBySchemaPath() {
- Optional<String> actualVersion = SchemaMetaDataNode.getVersionByDataSourcesPath("/metadata/logic_db/logic_schema/versions/0/dataSources");
+ Optional<String> actualVersion = DatabaseMetaDataNode.getVersionByDataSourcesPath("/metadata/logic_db/versions/0/dataSources");
assertTrue(actualVersion.isPresent());
assertThat(actualVersion.get(), is("0"));
}
+ @Test
+ public void assertGetActiveVersionPath() {
+ assertThat(DatabaseMetaDataNode.getActiveVersionPath("logic_db"), is("/metadata/logic_db/active_version"));
+ }
+
@Test
public void assertGetVersionByRulesPath() {
- Optional<String> actualVersion = SchemaMetaDataNode.getVersionByRulesPath("/metadata/logic_db/logic_schema/versions/0/rules");
+ Optional<String> actualVersion = DatabaseMetaDataNode.getVersionByRulesPath("/metadata/logic_db/versions/0/rules");
assertTrue(actualVersion.isPresent());
assertThat(actualVersion.get(), is("0"));
}
@Test
- public void assertGetSchemaVersionPath() {
- assertThat(SchemaMetaDataNode.getSchemaVersionPath("logic_db", "0"), is("/metadata/logic_db/logic_db/versions/0"));
+ public void assertGetDatabaseVersionPath() {
+ assertThat(DatabaseMetaDataNode.getDatabaseVersionPath("logic_db", "0"), is("/metadata/logic_db/versions/0"));
}
@Test
public void assertGetTableMetaDataPath() {
- assertThat(SchemaMetaDataNode.getTableMetaDataPath("db", "schema", "table"), is("/metadata/db/schema/tables/table"));
- }
-
- @Test
- public void assertGetDatabaseNamePath() {
- assertThat(SchemaMetaDataNode.getDatabaseNamePath("db"), is("/metadata/db"));
+ assertThat(DatabaseMetaDataNode.getTableMetaDataPath("logic_db", "logic_schema", "order"), is("/metadata/logic_db/schemas/logic_schema/tables/order"));
}
@Test
public void assertGetMetaDataNodePath() {
- assertThat(SchemaMetaDataNode.getMetaDataNodePath(), is("/metadata"));
+ assertThat(DatabaseMetaDataNode.getMetaDataNodePath(), is("/metadata"));
}
@Test
public void assertGetMetaDataDataSourcePath() {
- assertThat(SchemaMetaDataNode.getMetaDataDataSourcePath(DefaultSchema.LOGIC_NAME, "0"), is("/metadata/logic_db/logic_db/versions/0/dataSources"));
+ assertThat(DatabaseMetaDataNode.getMetaDataDataSourcePath(DefaultSchema.LOGIC_NAME, "0"), is("/metadata/logic_db/versions/0/dataSources"));
}
}
diff --git a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaMetaDataPersistServiceTest.java b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaMetaDataPersistServiceTest.java
index ad79de28858..46ff4f6923a 100644
--- a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaMetaDataPersistServiceTest.java
+++ b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/SchemaMetaDataPersistServiceTest.java
@@ -60,14 +60,14 @@ public final class SchemaMetaDataPersistServiceTest {
TableMetaData tableMetaData = new TableMetaDataYamlSwapper().swapToObject(YamlEngine.unmarshal(readYAML(), YamlTableMetaData.class));
ShardingSphereSchema schema = new ShardingSphereSchema();
schema.getTables().put("t_order", tableMetaData);
- new SchemaMetaDataPersistService(repository).persist("foo_db", "foo_db", schema);
- verify(repository).persist(eq("/metadata/foo_db/foo_db/tables/t_order"), anyString());
+ new SchemaMetaDataPersistService(repository).persist("foo_db", "foo_schema", schema);
+ verify(repository).persist(eq("/metadata/foo_db/schemas/foo_schema/tables/t_order"), anyString());
}
@Test
public void assertPersistSchemaTables() {
new SchemaMetaDataPersistService(repository).persist("foo_db");
- verify(repository).persist(eq("/metadata/foo_db/foo_db/tables"), anyString());
+ verify(repository).persist(eq("/metadata/foo_db/schemas/foo_db/tables"), anyString());
}
@Test
@@ -79,9 +79,9 @@ public final class SchemaMetaDataPersistServiceTest {
@Test
public void assertLoad() {
SchemaMetaDataPersistService schemaMetaDataPersistService = new SchemaMetaDataPersistService(repository);
- when(repository.getChildrenKeys("/metadata/foo_db/foo_db/tables")).thenReturn(Lists.newArrayList("t_order"));
- when(repository.get("/metadata/foo_db/foo_db/tables/t_order")).thenReturn(readYAML());
- Optional<ShardingSphereSchema> schemaOptional = schemaMetaDataPersistService.load("foo_db", "foo_db");
+ when(repository.getChildrenKeys("/metadata/foo_db/schemas/foo_schema/tables")).thenReturn(Lists.newArrayList("t_order"));
+ when(repository.get("/metadata/foo_db/schemas/foo_schema/tables/t_order")).thenReturn(readYAML());
+ Optional<ShardingSphereSchema> schemaOptional = schemaMetaDataPersistService.load("foo_db", "foo_schema");
assertTrue(schemaOptional.isPresent());
Optional<ShardingSphereSchema> empty = schemaMetaDataPersistService.load("test", "test");
assertThat(empty, is(Optional.empty()));
@@ -93,9 +93,9 @@ public final class SchemaMetaDataPersistServiceTest {
}
@Test
- public void assertLoadAllNames() {
+ public void assertLoadAllDatabaseNames() {
when(repository.getChildrenKeys("/metadata")).thenReturn(Arrays.asList("foo_db"));
- Collection<String> actual = new SchemaMetaDataPersistService(repository).loadAllNames();
+ Collection<String> actual = new SchemaMetaDataPersistService(repository).loadAllDatabaseNames();
assertThat(actual.size(), is(1));
assertThat(actual, hasItems("foo_db"));
}
@@ -104,7 +104,7 @@ public final class SchemaMetaDataPersistServiceTest {
public void assertPersistTableMetaData() {
TableMetaData tableMetaData = new TableMetaData("FOO_TABLE", Collections.emptyList(), Collections.emptyList(), Collections.emptyList());
new SchemaMetaDataPersistService(repository).persist("foo_db", tableMetaData);
- verify(repository).persist(eq("/metadata/foo_db/foo_db/tables/foo_table"), anyString());
+ verify(repository).persist(eq("/metadata/foo_db/schemas/foo_db/tables/foo_table"), anyString());
}
@SneakyThrows({IOException.class, URISyntaxException.class})
diff --git a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/DataSourcePersistServiceTest.java b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/DataSourcePersistServiceTest.java
index 57b11ebbf17..7777b01ad43 100644
--- a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/DataSourcePersistServiceTest.java
+++ b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/DataSourcePersistServiceTest.java
@@ -51,8 +51,8 @@ public final class DataSourcePersistServiceTest {
@Test
public void assertLoad() {
- when(repository.get("/metadata/foo_db/foo_db/active_version")).thenReturn("0");
- when(repository.get("/metadata/foo_db/foo_db/versions/0/dataSources")).thenReturn(readDataSourceYaml("yaml/persist/data-source.yaml"));
+ when(repository.get("/metadata/foo_db/active_version")).thenReturn("0");
+ when(repository.get("/metadata/foo_db/versions/0/dataSources")).thenReturn(readDataSourceYaml("yaml/persist/data-source.yaml"));
Map<String, DataSourceProperties> actual = new DataSourcePersistService(repository).load("foo_db");
assertThat(actual.size(), is(2));
assertDataSourceProperties(actual.get("ds_0"), DataSourcePropertiesCreator.create(createDataSource("ds_0")));
@@ -75,26 +75,26 @@ public final class DataSourcePersistServiceTest {
@Test
public void assertLoadWithoutPath() {
- when(repository.get("/metadata/foo_db/foo_db/active_version")).thenReturn("0");
+ when(repository.get("/metadata/foo_db/active_version")).thenReturn("0");
Map<String, DataSourceProperties> actual = new DataSourcePersistService(repository).load("foo_db");
assertTrue(actual.isEmpty());
}
@Test
public void assertAppend() {
- when(repository.get("/metadata/foo_db/foo_db/active_version")).thenReturn("0");
+ when(repository.get("/metadata/foo_db/active_version")).thenReturn("0");
new DataSourcePersistService(repository).append("foo_db", Collections.singletonMap("foo_ds", DataSourcePropertiesCreator.create(createDataSource("foo_ds"))));
String expected = readDataSourceYaml("yaml/persist/data-source-foo.yaml");
- verify(repository).persist("/metadata/foo_db/foo_db/versions/0/dataSources", expected);
+ verify(repository).persist("/metadata/foo_db/versions/0/dataSources", expected);
}
@Test
public void assertDrop() {
- when(repository.get("/metadata/foo_db/foo_db/active_version")).thenReturn("0");
+ when(repository.get("/metadata/foo_db/active_version")).thenReturn("0");
String actual = readDataSourceYaml("yaml/persist/data-source-foo.yaml");
- when(repository.get("/metadata/foo_db/foo_db/versions/0/dataSources")).thenReturn(actual);
+ when(repository.get("/metadata/foo_db/versions/0/dataSources")).thenReturn(actual);
new DataSourcePersistService(repository).drop("foo_db", Collections.singleton("foo_ds"));
- verify(repository).persist("/metadata/foo_db/foo_db/versions/0/dataSources", "{}" + System.lineSeparator());
+ verify(repository).persist("/metadata/foo_db/versions/0/dataSources", "{}" + System.lineSeparator());
}
private DataSource createDataSource(final String name) {
diff --git a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/SchemaRulePersistServiceTest.java b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/SchemaRulePersistServiceTest.java
index af6916dc07a..57fd6be0457 100644
--- a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/SchemaRulePersistServiceTest.java
+++ b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/impl/SchemaRulePersistServiceTest.java
@@ -46,22 +46,22 @@ public final class SchemaRulePersistServiceTest {
@Test
public void assertLoadWithoutExistedNode() {
- assertTrue(new SchemaRulePersistService(repository).load("foo_db").isEmpty());
+ assertTrue(new DatabaseRulePersistService(repository).load("foo_db").isEmpty());
}
@Test
public void assertLoadWithExistedNode() {
- when(repository.get("/metadata/foo_db/foo_db/active_version")).thenReturn("0");
- when(repository.get("/metadata/foo_db/foo_db/versions/0/rules")).thenReturn(readYAML());
- Collection<RuleConfiguration> actual = new SchemaRulePersistService(repository).load("foo_db");
+ when(repository.get("/metadata/foo_db/active_version")).thenReturn("0");
+ when(repository.get("/metadata/foo_db/versions/0/rules")).thenReturn(readYAML());
+ Collection<RuleConfiguration> actual = new DatabaseRulePersistService(repository).load("foo_db");
assertThat(actual.size(), is(1));
}
@Test
public void assertIsExisted() {
- when(repository.get("/metadata/foo_db/foo_db/active_version")).thenReturn("0");
- when(repository.get("/metadata/foo_db/foo_db/versions/0/rules")).thenReturn(readYAML());
- SchemaRulePersistService schemaRulePersistService = new SchemaRulePersistService(repository);
+ when(repository.get("/metadata/foo_db/active_version")).thenReturn("0");
+ when(repository.get("/metadata/foo_db/versions/0/rules")).thenReturn(readYAML());
+ DatabaseRulePersistService schemaRulePersistService = new DatabaseRulePersistService(repository);
assertTrue(schemaRulePersistService.isExisted("foo_db"));
assertFalse(schemaRulePersistService.isExisted("foo_db_1"));
}
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
index 9a3e2c65929..11fbd67c671 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
@@ -125,7 +125,7 @@ public final class ClusterContextManagerBuilder implements ContextManagerBuilder
private MetaDataContextsBuilder createMetaDataContextsBuilder(final MetaDataPersistService metaDataPersistService, final ContextManagerBuilderParameter parameter) throws SQLException {
Collection<String> databaseNames = InstanceType.JDBC == parameter.getInstanceDefinition().getInstanceType()
- ? parameter.getDatabaseConfigs().keySet() : metaDataPersistService.getSchemaMetaDataService().loadAllNames();
+ ? parameter.getDatabaseConfigs().keySet() : metaDataPersistService.getSchemaMetaDataService().loadAllDatabaseNames();
Collection<RuleConfiguration> globalRuleConfigs = metaDataPersistService.getGlobalRuleService().load();
Properties props = metaDataPersistService.getPropsService().load();
MetaDataContextsBuilder result = new MetaDataContextsBuilder(globalRuleConfigs, props);
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/cache/subscriber/ScalingRegistrySubscriber.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/cache/subscriber/ScalingRegistrySubscriber.java
index 46d7681ed1e..282f8c854d9 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/cache/subscriber/ScalingRegistrySubscriber.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/cache/subscriber/ScalingRegistrySubscriber.java
@@ -23,8 +23,8 @@ import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.cache.event.StartScalingEvent;
import org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.config.event.rule.ScalingTaskFinishedEvent;
import org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.config.event.version.SchemaVersionPreparedEvent;
-import org.apache.shardingsphere.mode.metadata.persist.node.SchemaMetaDataNode;
-import org.apache.shardingsphere.mode.metadata.persist.service.SchemaVersionPersistService;
+import org.apache.shardingsphere.mode.metadata.persist.node.DatabaseMetaDataNode;
+import org.apache.shardingsphere.mode.metadata.persist.service.DatabaseVersionPersistService;
import org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepository;
import java.util.Optional;
@@ -38,11 +38,11 @@ public final class ScalingRegistrySubscriber {
private final ClusterPersistRepository repository;
- private final SchemaVersionPersistService schemaVersionPersistService;
+ private final DatabaseVersionPersistService databaseVersionPersistService;
public ScalingRegistrySubscriber(final ClusterPersistRepository repository) {
this.repository = repository;
- schemaVersionPersistService = new SchemaVersionPersistService(repository);
+ databaseVersionPersistService = new DatabaseVersionPersistService(repository);
ShardingSphereEventBus.getInstance().register(this);
}
@@ -53,11 +53,11 @@ public final class ScalingRegistrySubscriber {
*/
@Subscribe
public void startScaling(final SchemaVersionPreparedEvent event) {
- String activeVersion = schemaVersionPersistService.getSchemaActiveVersion(event.getSchemaName()).get();
- String sourceDataSource = repository.get(SchemaMetaDataNode.getMetaDataDataSourcePath(event.getSchemaName(), activeVersion));
- String targetDataSource = repository.get(SchemaMetaDataNode.getMetaDataDataSourcePath(event.getSchemaName(), event.getVersion()));
- String sourceRule = repository.get(SchemaMetaDataNode.getRulePath(event.getSchemaName(), activeVersion));
- String targetRule = repository.get(SchemaMetaDataNode.getRulePath(event.getSchemaName(), event.getVersion()));
+ String activeVersion = databaseVersionPersistService.getDatabaseActiveVersion(event.getSchemaName()).get();
+ String sourceDataSource = repository.get(DatabaseMetaDataNode.getMetaDataDataSourcePath(event.getSchemaName(), activeVersion));
+ String targetDataSource = repository.get(DatabaseMetaDataNode.getMetaDataDataSourcePath(event.getSchemaName(), event.getVersion()));
+ String sourceRule = repository.get(DatabaseMetaDataNode.getRulePath(event.getSchemaName(), activeVersion));
+ String targetRule = repository.get(DatabaseMetaDataNode.getRulePath(event.getSchemaName(), event.getVersion()));
log.info("start scaling job, locked the schema name, event={}", event);
StartScalingEvent startScalingEvent = new StartScalingEvent(event.getSchemaName(), sourceDataSource, sourceRule, targetDataSource, targetRule,
Integer.parseInt(activeVersion), Integer.parseInt(event.getVersion()));
@@ -73,10 +73,10 @@ public final class ScalingRegistrySubscriber {
public void scalingTaskFinished(final ScalingTaskFinishedEvent event) {
log.info("scalingTaskFinished, event={}", event);
int targetActiveVersion = event.getTargetActiveVersion();
- Optional<String> activeVersion = schemaVersionPersistService.getSchemaActiveVersion(event.getTargetSchemaName());
+ Optional<String> activeVersion = databaseVersionPersistService.getDatabaseActiveVersion(event.getTargetSchemaName());
if (activeVersion.isPresent() && targetActiveVersion == Integer.parseInt(activeVersion.get())) {
- schemaVersionPersistService.persistActiveVersion(event.getTargetSchemaName(), event.getTargetNewVersion() + "");
- schemaVersionPersistService.deleteVersion(event.getTargetSchemaName(), targetActiveVersion + "");
+ databaseVersionPersistService.persistActiveVersion(event.getTargetSchemaName(), event.getTargetNewVersion() + "");
+ databaseVersionPersistService.deleteVersion(event.getTargetSchemaName(), targetActiveVersion + "");
} else {
log.error("targetActiveVersion does not match current activeVersion, targetActiveVersion={}, activeVersion={}", targetActiveVersion, activeVersion.orElse(null));
}
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcher.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcher.java
index 11366cb1723..95a19e7e092 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcher.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcher.java
@@ -35,7 +35,7 @@ import org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.confi
import org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.config.event.version.SchemaVersionChangedEvent;
import org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.metadata.event.SchemaAddedEvent;
import org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.metadata.event.SchemaDeletedEvent;
-import org.apache.shardingsphere.mode.metadata.persist.node.SchemaMetaDataNode;
+import org.apache.shardingsphere.mode.metadata.persist.node.DatabaseMetaDataNode;
import org.apache.shardingsphere.mode.repository.cluster.listener.DataChangedEvent;
import org.apache.shardingsphere.mode.repository.cluster.listener.DataChangedEvent.Type;
@@ -57,7 +57,7 @@ public final class MetaDataChangedWatcher implements GovernanceWatcher<Governanc
@Override
public Collection<String> getWatchingKeys() {
- return Collections.singleton(SchemaMetaDataNode.getMetaDataNodePath());
+ return Collections.singleton(DatabaseMetaDataNode.getMetaDataNodePath());
}
@Override
@@ -78,18 +78,18 @@ public final class MetaDataChangedWatcher implements GovernanceWatcher<Governanc
}
private boolean isLogicSchemaChanged(final DataChangedEvent event) {
- return SchemaMetaDataNode.getDatabaseNameBySchemaPath(event.getKey()).isPresent();
+ return DatabaseMetaDataNode.getDatabaseNameByDatabasePath(event.getKey()).isPresent();
}
private boolean isTableMetaDataChanged(final DataChangedEvent event) {
- Optional<String> schemaName = SchemaMetaDataNode.getSchemaName(event.getKey());
- Optional<String> tableName = SchemaMetaDataNode.getTableName(event.getKey());
- return schemaName.isPresent() && tableName.isPresent()
- && !SystemSchemaBuilderRule.isSystemTable(schemaName.get(), tableName.get()) && !Strings.isNullOrEmpty(event.getValue());
+ Optional<String> databaseName = DatabaseMetaDataNode.getDatabaseName(event.getKey());
+ Optional<String> tableName = DatabaseMetaDataNode.getTableName(event.getKey());
+ return databaseName.isPresent() && tableName.isPresent()
+ && !SystemSchemaBuilderRule.isSystemTable(databaseName.get(), tableName.get()) && !Strings.isNullOrEmpty(event.getValue());
}
private Optional<GovernanceEvent> buildLogicSchemaChangedEvent(final DataChangedEvent event) {
- String databaseName = SchemaMetaDataNode.getDatabaseNameBySchemaPath(event.getKey()).get();
+ String databaseName = DatabaseMetaDataNode.getDatabaseNameByDatabasePath(event.getKey()).get();
if (DataChangedEvent.Type.ADDED == event.getType() || DataChangedEvent.Type.UPDATED == event.getType()) {
return Optional.of(new SchemaAddedEvent(databaseName));
}
@@ -100,20 +100,20 @@ public final class MetaDataChangedWatcher implements GovernanceWatcher<Governanc
}
private Optional<GovernanceEvent> buildGovernanceEvent(final DataChangedEvent event) {
- Optional<String> schemaName = SchemaMetaDataNode.getSchemaName(event.getKey());
- if (!schemaName.isPresent() || Strings.isNullOrEmpty(event.getValue())) {
+ Optional<String> databaseName = DatabaseMetaDataNode.getDatabaseName(event.getKey());
+ if (!databaseName.isPresent() || Strings.isNullOrEmpty(event.getValue())) {
return Optional.empty();
}
- if (event.getKey().equals(SchemaMetaDataNode.getActiveVersionPath(schemaName.get()))) {
- return Optional.of(new SchemaVersionChangedEvent(schemaName.get(), event.getValue()));
+ if (event.getKey().equals(DatabaseMetaDataNode.getActiveVersionPath(databaseName.get()))) {
+ return Optional.of(new SchemaVersionChangedEvent(databaseName.get(), event.getValue()));
}
- Optional<String> schemaVersion = SchemaMetaDataNode.getVersionByDataSourcesPath(event.getKey());
+ Optional<String> schemaVersion = DatabaseMetaDataNode.getVersionByDataSourcesPath(event.getKey());
if (schemaVersion.isPresent()) {
- return Optional.of(createDataSourceChangedEvent(schemaName.get(), schemaVersion.get(), event));
+ return Optional.of(createDataSourceChangedEvent(databaseName.get(), schemaVersion.get(), event));
}
- schemaVersion = SchemaMetaDataNode.getVersionByRulesPath(event.getKey());
+ schemaVersion = DatabaseMetaDataNode.getVersionByRulesPath(event.getKey());
if (schemaVersion.isPresent()) {
- return Optional.of(createRuleChangedEvent(schemaName.get(), schemaVersion.get(), event));
+ return Optional.of(createRuleChangedEvent(databaseName.get(), schemaVersion.get(), event));
}
return Optional.empty();
}
@@ -141,11 +141,11 @@ public final class MetaDataChangedWatcher implements GovernanceWatcher<Governanc
}
private Optional<GovernanceEvent> buildTableMetaDataChangedEvent(final DataChangedEvent event) {
- String schemaName = SchemaMetaDataNode.getSchemaName(event.getKey()).get();
- String tableName = SchemaMetaDataNode.getTableName(event.getKey()).get();
+ String databaseName = DatabaseMetaDataNode.getDatabaseName(event.getKey()).get();
+ String tableName = DatabaseMetaDataNode.getTableName(event.getKey()).get();
if (DataChangedEvent.Type.DELETED == event.getType()) {
- return Optional.of(new SchemaChangedEvent(schemaName, null, tableName));
+ return Optional.of(new SchemaChangedEvent(databaseName, null, tableName));
}
- return Optional.of(new SchemaChangedEvent(schemaName, new TableMetaDataYamlSwapper().swapToObject(YamlEngine.unmarshal(event.getValue(), YamlTableMetaData.class)), null));
+ return Optional.of(new SchemaChangedEvent(databaseName, new TableMetaDataYamlSwapper().swapToObject(YamlEngine.unmarshal(event.getValue(), YamlTableMetaData.class)), null));
}
}
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/cache/subscriber/ScalingRegistrySubscriberTest.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/cache/subscriber/ScalingRegistrySubscriberTest.java
index dc27d43087a..4552eca150f 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/cache/subscriber/ScalingRegistrySubscriberTest.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/cache/subscriber/ScalingRegistrySubscriberTest.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.mode.manager.cluster.coordinator.registry.cache.subscriber;
-import org.apache.shardingsphere.mode.metadata.persist.service.SchemaVersionPersistService;
+import org.apache.shardingsphere.mode.metadata.persist.service.DatabaseVersionPersistService;
import org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepository;
import org.junit.Before;
import org.junit.Test;
@@ -34,26 +34,20 @@ public final class ScalingRegistrySubscriberTest {
private ClusterPersistRepository repository;
@Mock
- private SchemaVersionPersistService schemaVersionPersistService;
+ private DatabaseVersionPersistService databaseVersionPersistService;
private ScalingRegistrySubscriber scalingRegistrySubscriber;
@Before
public void setUp() throws ReflectiveOperationException {
scalingRegistrySubscriber = new ScalingRegistrySubscriber(repository);
- Field persistServiceField = ScalingRegistrySubscriber.class.getDeclaredField("schemaVersionPersistService");
+ Field persistServiceField = ScalingRegistrySubscriber.class.getDeclaredField("databaseVersionPersistService");
persistServiceField.setAccessible(true);
- persistServiceField.set(scalingRegistrySubscriber, schemaVersionPersistService);
+ persistServiceField.set(scalingRegistrySubscriber, databaseVersionPersistService);
}
@Test
public void assertCacheRuleConfiguration() {
// TODO finish test case
}
-
-// @SneakyThrows({IOException.class, URISyntaxException.class})
-// private String readYAML() {
-// return Files.readAllLines(Paths.get(ClassLoader.getSystemResource("yaml/regcenter/data-schema-rule.yaml").toURI()))
-// .stream().map(each -> each + System.lineSeparator()).collect(Collectors.joining());
-// }
}
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcherTest.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcherTest.java
index 0f1cf5fbb1a..4407b02707b 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcherTest.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/watcher/MetaDataChangedWatcherTest.java
@@ -60,7 +60,7 @@ public final class MetaDataChangedWatcherTest {
@Test
public void assertEmptyValue() {
- String key = "/metadata/sharding_db/sharding_schema/dataSources";
+ String key = "/metadata/sharding_db/dataSources";
Optional<GovernanceEvent> actual = createEvent(key, null, Type.UPDATED);
assertFalse(actual.isPresent());
}
@@ -75,7 +75,7 @@ public final class MetaDataChangedWatcherTest {
@Test
public void assertCreateDataSourceChangedEvent() {
- String key = "/metadata/sharding_db/sharding_schema/versions/0/dataSources";
+ String key = "/metadata/sharding_db/versions/0/dataSources";
String value = "{}";
Optional<GovernanceEvent> actual = createEvent(key, value, Type.UPDATED);
assertTrue(actual.isPresent());
@@ -83,21 +83,21 @@ public final class MetaDataChangedWatcherTest {
@Test
public void assertCreateRuleChangedEvent() {
- String key = "/metadata/sharding_db/sharding_schema/versions/0/rules";
+ String key = "/metadata/sharding_db/versions/0/rules";
Optional<GovernanceEvent> actual = createEvent(key, "[]", Type.UPDATED);
assertTrue(actual.isPresent());
}
@Test
public void assertCreateTableSchemaChangedEvent() {
- String key = "/metadata/sharding_db/sharding_schema/tables/t_order";
+ String key = "/metadata/sharding_db/schemas/sharding_schema/tables/t_order";
Optional<GovernanceEvent> actual = createEvent(key, "{}", Type.UPDATED);
assertTrue(actual.isPresent());
}
@Test
public void assertCreateTableSchemaDeletedEvent() {
- String key = "/metadata/sharding_db/sharding_schema/tables/t_order";
+ String key = "/metadata/sharding_db/schemas/sharding_schema/tables/t_order";
Optional<GovernanceEvent> actual = createEvent(key, "{}", Type.DELETED);
assertTrue(actual.isPresent());
assertThat(((SchemaChangedEvent) actual.get()).getDeletedTable(), is("t_order"));
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
index cbabcac2c2b..93c083211e1 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
@@ -72,7 +72,7 @@ public final class StandaloneContextManagerBuilder implements ContextManagerBuil
Properties props = metaDataPersistService.getPropsService().load();
MetaDataContextsBuilder builder = new MetaDataContextsBuilder(globalRuleConfigs, props);
Collection<String> databaseNames = InstanceType.JDBC == parameter.getInstanceDefinition().getInstanceType()
- ? parameter.getDatabaseConfigs().keySet() : metaDataPersistService.getSchemaMetaDataService().loadAllNames();
+ ? parameter.getDatabaseConfigs().keySet() : metaDataPersistService.getSchemaMetaDataService().loadAllDatabaseNames();
DatabaseType databaseType = DatabaseTypeFactory.getDatabaseType(parameter.getDatabaseConfigs(), new ConfigurationProperties(parameter.getProps()));
for (String each : databaseNames) {
if (databaseType.getSystemSchemas().contains(each)) {
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilderTextTest.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilderTextTest.java
index bac8229f21f..dc5c9ee3910 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilderTextTest.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilderTextTest.java
@@ -25,7 +25,7 @@ import org.apache.shardingsphere.infra.instance.definition.InstanceType;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.manager.ContextManagerBuilderParameter;
import org.apache.shardingsphere.mode.metadata.persist.node.GlobalNode;
-import org.apache.shardingsphere.mode.metadata.persist.node.SchemaMetaDataNode;
+import org.apache.shardingsphere.mode.metadata.persist.node.DatabaseMetaDataNode;
import org.apache.shardingsphere.mode.persist.PersistRepository;
import org.apache.shardingsphere.test.mock.MockedDataSource;
import org.junit.Test;
@@ -52,8 +52,8 @@ public final class StandaloneContextManagerBuilderTextTest {
assertTrue(actual.getMetaDataContexts().getMetaDataPersistService().isPresent());
PersistRepository repository = actual.getMetaDataContexts().getMetaDataPersistService().get().getRepository();
assertNotNull(repository.get(GlobalNode.getGlobalRuleNode()));
- assertNotNull(repository.get(SchemaMetaDataNode.getMetaDataDataSourcePath("foo_schema", "0")));
- assertNotNull(repository.get(SchemaMetaDataNode.getRulePath("foo_schema", "0")));
+ assertNotNull(repository.get(DatabaseMetaDataNode.getMetaDataDataSourcePath("foo_schema", "0")));
+ assertNotNull(repository.get(DatabaseMetaDataNode.getRulePath("foo_schema", "0")));
assertNotNull(actual.getTransactionContexts().getEngines().get("foo_schema"));
}
}