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 a3babb3 Remove persist system data when create database (#16472)
a3babb3 is described below
commit a3babb372c0e65ad2f9e44234db556e762a52bcb
Author: zhaojinchao <[email protected]>
AuthorDate: Wed Mar 30 15:39:16 2022 +0800
Remove persist system data when create database (#16472)
---
.../org/apache/shardingsphere/mode/manager/ContextManager.java | 9 ---------
.../mode/metadata/persist/node/SchemaMetaDataNode.java | 6 +++---
.../mode/metadata/persist/node/SchemaMetaDataNodeTest.java | 6 +++---
.../registry/metadata/watcher/MetaDataChangedWatcher.java | 8 ++++----
.../coordinator/ClusterContextManagerCoordinatorTest.java | 2 +-
.../registry/metadata/watcher/MetaDataChangedWatcherTest.java | 4 ++--
6 files changed, 13 insertions(+), 22 deletions(-)
diff --git
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
index 86bae43..2ccdd65 100644
---
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
+++
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
@@ -143,7 +143,6 @@ public final class ContextManager implements AutoCloseable {
metaDataContexts.getOptimizerContext().getPlannerContexts().put(schemaName,
OptimizerPlannerContextFactory.create(databaseMetaData));
metaDataContexts.getMetaDataMap().put(schemaName,
newMetaDataContexts.getMetaData(schemaName));
metaDataContexts.getMetaDataPersistService().ifPresent(optional ->
optional.getSchemaMetaDataService().persist(schemaName));
- persistSystemDatabase();
renewAllTransactionContext();
}
@@ -185,14 +184,6 @@ public final class ContextManager implements AutoCloseable
{
metaDataContexts.getOptimizerContext().getPlannerContexts().put(schemaName,
OptimizerPlannerContextFactory.create(databaseMetaData));
}
- private void persistSystemDatabase() {
- metaDataContexts.getMetaDataMap().forEach((key, value) ->
persistSchemas(key, value.getSchemas()));
- }
-
- private void persistSchemas(final String databaseName, final Map<String,
ShardingSphereSchema> schemaMap) {
- schemaMap.forEach((key, value) ->
metaDataContexts.getMetaDataPersistService().ifPresent(optional ->
optional.getSchemaMetaDataService().persist(databaseName, key, value)));
- }
-
private void alterSingleTableDataNodes(final String schemaName, final
ShardingSphereMetaData metaData, final TableMetaData changedTableMetaData) {
if (!containsInDataNodeContainedRule(changedTableMetaData.getName(),
metaData)) {
refreshRules(schemaName, metaData);
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/SchemaMetaDataNode.java
index 15d27ca..2576413 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/SchemaMetaDataNode.java
@@ -139,10 +139,10 @@ public final class SchemaMetaDataNode {
* @param schemaPath schema path
* @return schema name
*/
- public static Optional<String> getSchemaNameBySchemaPath(final String
schemaPath) {
- Pattern pattern = Pattern.compile(getMetaDataNodePath() +
"/([\\w\\-]+)/([\\w\\-]+)$", Pattern.CASE_INSENSITIVE);
+ public static Optional<String> getDatabaseNameBySchemaPath(final String
schemaPath) {
+ Pattern pattern = Pattern.compile(getMetaDataNodePath() +
"/([\\w\\-]+)$", Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(schemaPath);
- return matcher.find() ? Optional.of(matcher.group(2)) :
Optional.empty();
+ return matcher.find() ? Optional.of(matcher.group(1)) :
Optional.empty();
}
/**
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/SchemaMetaDataNodeTest.java
index 418ae14..689a25e 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/SchemaMetaDataNodeTest.java
@@ -58,10 +58,10 @@ public class SchemaMetaDataNodeTest {
}
@Test
- public void assertGetSchemaNameBySchemaPath() {
- Optional<String> actualSchemaName =
SchemaMetaDataNode.getSchemaNameBySchemaPath("/metadata/logic_db/logic_schema");
+ public void assertGetDatabaseNameBySchemaPath() {
+ Optional<String> actualSchemaName =
SchemaMetaDataNode.getDatabaseNameBySchemaPath("/metadata/logic_db");
assertTrue(actualSchemaName.isPresent());
- assertThat(actualSchemaName.get(), is("logic_schema"));
+ assertThat(actualSchemaName.get(), is("logic_db"));
}
@Test
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 5580d74..318c063 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
@@ -77,7 +77,7 @@ public final class MetaDataChangedWatcher implements
GovernanceWatcher<Governanc
}
private boolean isLogicSchemaChanged(final DataChangedEvent event) {
- return
SchemaMetaDataNode.getSchemaNameBySchemaPath(event.getKey()).isPresent();
+ return
SchemaMetaDataNode.getDatabaseNameBySchemaPath(event.getKey()).isPresent();
}
private boolean isTableMetaDataChanged(final DataChangedEvent event) {
@@ -85,12 +85,12 @@ public final class MetaDataChangedWatcher implements
GovernanceWatcher<Governanc
}
private Optional<GovernanceEvent> buildLogicSchemaChangedEvent(final
DataChangedEvent event) {
- String schemaName =
SchemaMetaDataNode.getSchemaNameBySchemaPath(event.getKey()).get();
+ String databaseName =
SchemaMetaDataNode.getDatabaseNameBySchemaPath(event.getKey()).get();
if (DataChangedEvent.Type.ADDED == event.getType() ||
DataChangedEvent.Type.UPDATED == event.getType()) {
- return Optional.of(new SchemaAddedEvent(schemaName));
+ return Optional.of(new SchemaAddedEvent(databaseName));
}
if (DataChangedEvent.Type.DELETED == event.getType()) {
- return Optional.of(new SchemaDeletedEvent(schemaName));
+ return Optional.of(new SchemaDeletedEvent(databaseName));
}
return Optional.empty();
}
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/ClusterContextManagerCoordinatorTest.java
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
index 8199a28..95854f2 100644
---
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
+++
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
@@ -194,7 +194,7 @@ public final class ClusterContextManagerCoordinatorTest {
@Test
public void assertDisableStateChanged() {
- final StatusContainedRule statusContainedRule =
mock(StatusContainedRule.class);
+ StatusContainedRule statusContainedRule =
mock(StatusContainedRule.class);
when(metaData.getRuleMetaData().getRules()).thenReturn(Collections.singletonList(statusContainedRule));
DisabledStateChangedEvent event = new DisabledStateChangedEvent(new
QualifiedSchema("schema.readwrite_ds.ds_0"), true);
coordinator.renew(event);
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 0bc69e1..0f1cf5f 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
@@ -48,7 +48,7 @@ public final class MetaDataChangedWatcherTest {
@Test
public void assertCreateAddedEvent() {
- String key = "/metadata/sharding_db/sharding_schema";
+ String key = "/metadata/sharding_db";
String value = "encrypt_db";
Optional<GovernanceEvent> actual = createEvent(key, value,
Type.UPDATED);
assertTrue(actual.isPresent());
@@ -67,7 +67,7 @@ public final class MetaDataChangedWatcherTest {
@Test
public void assertCreateDeletedEvent() {
- String key = "/metadata/sharding_db/sharding_schema";
+ String key = "/metadata/sharding_db";
String value = "encrypt_db";
Optional<GovernanceEvent> actual = createEvent(key, value,
Type.DELETED);
assertTrue(actual.isPresent());