This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 5851cc31d0c Remove useless DataSourceNodePersistService (#34413)
5851cc31d0c is described below
commit 5851cc31d0c5569f7b790b90f1f727643083f5b3
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Jan 20 22:31:38 2025 +0800
Remove useless DataSourceNodePersistService (#34413)
---
.../infra/instance/ComputeNodeInstanceContext.java | 1 -
.../pipeline/core/job/api/PipelineAPIFactory.java | 2 +-
.../core/util/PipelineDistributedBarrier.java | 2 +-
.../mode/metadata/MetaDataContextManager.java | 14 +--
.../mode/metadata/MetaDataContexts.java | 2 +-
.../mode/metadata/manager/RuleItemManager.java | 5 +-
.../metadata/persist/MetaDataPersistService.java | 4 -
.../database/DataSourceNodePersistService.java | 113 ---------------------
.../database/DataSourceNodePersistServiceTest.java | 88 ----------------
9 files changed, 12 insertions(+), 219 deletions(-)
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstanceContext.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstanceContext.java
index a3d8cb81b6e..64da77c8c5b 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstanceContext.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstanceContext.java
@@ -48,7 +48,6 @@ public final class ComputeNodeInstanceContext {
@Getter(AccessLevel.NONE)
private final AtomicReference<WorkerIdGenerator> workerIdGenerator;
- @Getter(AccessLevel.NONE)
private final AtomicReference<LockContext> lockContext;
private final ClusterInstanceRegistry clusterInstanceRegistry;
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/api/PipelineAPIFactory.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/api/PipelineAPIFactory.java
index 19097dc4a69..a941c8a3cc7 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/api/PipelineAPIFactory.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/api/PipelineAPIFactory.java
@@ -64,7 +64,7 @@ public final class PipelineAPIFactory {
@Override
protected PipelineGovernanceFacade initialize() {
ContextManager contextManager =
PipelineContextManager.getContext(contextKey).getContextManager();
- return new PipelineGovernanceFacade((ClusterPersistRepository)
contextManager.getPersistServiceFacade().getMetaDataPersistService().getRepository());
+ return new PipelineGovernanceFacade((ClusterPersistRepository)
contextManager.getPersistServiceFacade().getRepository());
}
}).get();
}
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/util/PipelineDistributedBarrier.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/util/PipelineDistributedBarrier.java
index 88ddf2a1757..9b34b6f920b 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/util/PipelineDistributedBarrier.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/util/PipelineDistributedBarrier.java
@@ -163,7 +163,7 @@ public final class PipelineDistributedBarrier {
@Override
protected ClusterPersistRepository initialize() {
- return (ClusterPersistRepository)
PipelineContextManager.getContext(contextKey).getContextManager().getPersistServiceFacade().getMetaDataPersistService().getRepository();
+ return (ClusterPersistRepository)
PipelineContextManager.getContext(contextKey).getContextManager().getPersistServiceFacade().getRepository();
}
}
}
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
index 261ca5735a2..9d225b52ac5 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
@@ -27,6 +27,7 @@ import
org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.manager.GenericSchemaManager;
+import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import
org.apache.shardingsphere.infra.metadata.statistics.builder.ShardingSphereStatisticsFactory;
import org.apache.shardingsphere.infra.rule.builder.global.GlobalRulesBuilder;
import org.apache.shardingsphere.mode.metadata.factory.MetaDataContextsFactory;
@@ -104,13 +105,12 @@ public class MetaDataContextManager {
public void forceRefreshDatabaseMetaData(final ShardingSphereDatabase
database) {
try {
metaDataContexts.update(createMetaDataContexts(database));
-
metaDataContexts.getMetaData().getDatabase(database.getName()).getAllSchemas()
- .forEach(each -> {
- if (each.isEmpty()) {
-
metaDataPersistService.getDatabaseMetaDataFacade().getSchema().add(database.getName(),
each.getName());
- }
-
metaDataPersistService.getDatabaseMetaDataFacade().getTable().persist(database.getName(),
each.getName(), each.getAllTables());
- });
+ for (ShardingSphereSchema each :
metaDataContexts.getMetaData().getDatabase(database.getName()).getAllSchemas())
{
+ if (each.isEmpty()) {
+
metaDataPersistService.getDatabaseMetaDataFacade().getSchema().add(database.getName(),
each.getName());
+ }
+
metaDataPersistService.getDatabaseMetaDataFacade().getTable().persist(database.getName(),
each.getName(), each.getAllTables());
+ }
} catch (final SQLException ex) {
log.error("Refresh database meta data: {} failed",
database.getName(), ex);
}
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
index 7c0e7d315af..4eb560c5401 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
@@ -52,7 +52,7 @@ public final class MetaDataContexts {
/**
* Get ShardingSphere statistics.
*
- * @return got meta data statistics
+ * @return got statistics
*/
public ShardingSphereStatistics getStatistics() {
return statistics.get();
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/RuleItemManager.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/RuleItemManager.java
index 8a03e9391d7..f7a971b72d0 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/RuleItemManager.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/RuleItemManager.java
@@ -50,10 +50,9 @@ public final class RuleItemManager {
@SuppressWarnings({"rawtypes", "unchecked"})
public void alterRuleItem(final AlterRuleItem alterRuleItem) throws
SQLException {
Preconditions.checkArgument(alterRuleItem.getActiveVersion().equals(metaDataPersistService.getRepository().query(alterRuleItem.getActiveVersionKey())),
- "Invalid active version: {} of key: {}",
alterRuleItem.getActiveVersion(), alterRuleItem.getActiveVersionKey());
+ "Invalid active version: %s of key: %s",
alterRuleItem.getActiveVersion(), alterRuleItem.getActiveVersionKey());
RuleItemConfigurationChangedProcessor processor =
TypedSPILoader.getService(RuleItemConfigurationChangedProcessor.class,
alterRuleItem.getType());
- String yamlContent =
metaDataPersistService.getMetaDataVersionPersistService()
-
.getVersionPathByActiveVersion(alterRuleItem.getActiveVersionKey(),
alterRuleItem.getActiveVersion());
+ String yamlContent =
metaDataPersistService.getMetaDataVersionPersistService().getVersionPathByActiveVersion(alterRuleItem.getActiveVersionKey(),
alterRuleItem.getActiveVersion());
String databaseName = alterRuleItem.getDatabaseName();
RuleConfiguration currentRuleConfig =
processor.findRuleConfiguration(metaDataContexts.getMetaData().getDatabase(databaseName));
synchronized (this) {
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
index bf8cf057374..e01bf1a99e1 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
@@ -30,7 +30,6 @@ import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSp
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.mode.metadata.persist.data.ShardingSphereDataPersistService;
-import
org.apache.shardingsphere.mode.metadata.persist.service.config.database.DataSourceNodePersistService;
import
org.apache.shardingsphere.mode.metadata.persist.service.config.database.DataSourceUnitPersistService;
import
org.apache.shardingsphere.mode.metadata.persist.service.config.database.DatabaseRulePersistService;
import
org.apache.shardingsphere.mode.metadata.persist.service.config.global.GlobalRulePersistService;
@@ -61,8 +60,6 @@ public final class MetaDataPersistService {
private final DataSourceUnitPersistService dataSourceUnitService;
- private final DataSourceNodePersistService dataSourceNodeService;
-
private final DatabaseMetaDataPersistFacade databaseMetaDataFacade;
private final DatabaseRulePersistService databaseRulePersistService;
@@ -77,7 +74,6 @@ public final class MetaDataPersistService {
this.repository = repository;
metaDataVersionPersistService = new
MetaDataVersionPersistService(repository);
dataSourceUnitService = new DataSourceUnitPersistService(repository);
- dataSourceNodeService = new DataSourceNodePersistService(repository);
databaseMetaDataFacade = new DatabaseMetaDataPersistFacade(repository,
metaDataVersionPersistService);
databaseRulePersistService = new
DatabaseRulePersistService(repository);
globalRuleService = new GlobalRulePersistService(repository,
metaDataVersionPersistService);
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/config/database/DataSourceNodePersistService.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/config/database/DataSourceNodePersistService.java
deleted file mode 100644
index 9fe12a60217..00000000000
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/config/database/DataSourceNodePersistService.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package
org.apache.shardingsphere.mode.metadata.persist.service.config.database;
-
-import com.google.common.base.Strings;
-import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
-import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
-import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
-import
org.apache.shardingsphere.infra.yaml.config.swapper.resource.YamlDataSourceConfigurationSwapper;
-import
org.apache.shardingsphere.mode.node.path.metadata.DataSourceMetaDataNodePath;
-import
org.apache.shardingsphere.mode.metadata.persist.service.version.MetaDataVersionPersistService;
-import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
-
-import java.util.Collection;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-/**
- * Data source node persist service.
- */
-public final class DataSourceNodePersistService {
-
- private final PersistRepository repository;
-
- private final MetaDataVersionPersistService metaDataVersionPersistService;
-
- public DataSourceNodePersistService(final PersistRepository repository) {
- this.repository = repository;
- metaDataVersionPersistService = new
MetaDataVersionPersistService(repository);
- }
-
- /**
- * Load data source pool properties map.
- *
- * @param databaseName database name
- * @return data source pool properties map
- */
- @SuppressWarnings("unchecked")
- public Map<String, DataSourcePoolProperties> load(final String
databaseName) {
- Collection<String> childrenKeys =
repository.getChildrenKeys(DataSourceMetaDataNodePath.getStorageNodesPath(databaseName));
- Map<String, DataSourcePoolProperties> result = new
LinkedHashMap<>(childrenKeys.size(), 1F);
- for (String each : childrenKeys) {
- String dataSourceValue =
repository.query(DataSourceMetaDataNodePath.getStorageNodeVersionPath(databaseName,
each, getDataSourceActiveVersion(databaseName, each)));
- if (!Strings.isNullOrEmpty(dataSourceValue)) {
- result.put(each, new
YamlDataSourceConfigurationSwapper().swapToDataSourcePoolProperties(YamlEngine.unmarshal(dataSourceValue,
Map.class)));
- }
- }
- return result;
- }
-
- /**
- * Load data source pool properties.
- *
- * @param databaseName database name
- * @param dataSourceName data source name
- * @return data source pool properties
- */
- @SuppressWarnings("unchecked")
- public DataSourcePoolProperties load(final String databaseName, final
String dataSourceName) {
- String dataSourceValue =
repository.query(DataSourceMetaDataNodePath.getStorageNodeVersionPath(databaseName,
dataSourceName, getDataSourceActiveVersion(databaseName, dataSourceName)));
- return new
YamlDataSourceConfigurationSwapper().swapToDataSourcePoolProperties(YamlEngine.unmarshal(dataSourceValue,
Map.class));
- }
-
- /**
- * Persist data source pool configurations.
- *
- * @param databaseName database name
- * @param dataSourceConfigs data source pool configurations
- */
- public void persist(final String databaseName, final Map<String,
DataSourcePoolProperties> dataSourceConfigs) {
- for (Entry<String, DataSourcePoolProperties> entry :
dataSourceConfigs.entrySet()) {
- String activeVersion = getDataSourceActiveVersion(databaseName,
entry.getKey());
- List<String> versions =
metaDataVersionPersistService.getVersions(DataSourceMetaDataNodePath.getStorageNodeVersionsPath(databaseName,
entry.getKey()));
-
repository.persist(DataSourceMetaDataNodePath.getStorageNodeVersionPath(databaseName,
entry.getKey(), versions.isEmpty()
- ? MetaDataVersion.DEFAULT_VERSION
- : String.valueOf(Integer.parseInt(versions.get(0)) + 1)),
YamlEngine.marshal(new
YamlDataSourceConfigurationSwapper().swapToMap(entry.getValue())));
- if (Strings.isNullOrEmpty(activeVersion)) {
-
repository.persist(DataSourceMetaDataNodePath.getStorageNodeActiveVersionPath(databaseName,
entry.getKey()), MetaDataVersion.DEFAULT_VERSION);
- }
- }
- }
-
- private String getDataSourceActiveVersion(final String databaseName, final
String dataSourceName) {
- return
repository.query(DataSourceMetaDataNodePath.getStorageNodeActiveVersionPath(databaseName,
dataSourceName));
- }
-
- /**
- * Delete data source pool configuration.
- *
- * @param databaseName database name
- * @param dataSourceName data source name
- */
- public void delete(final String databaseName, final String dataSourceName)
{
-
repository.delete(DataSourceMetaDataNodePath.getStorageNodePath(databaseName,
dataSourceName));
- }
-}
diff --git
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/config/database/DataSourceNodePersistServiceTest.java
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/config/database/DataSourceNodePersistServiceTest.java
deleted file mode 100644
index cac42490947..00000000000
---
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/config/database/DataSourceNodePersistServiceTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package
org.apache.shardingsphere.mode.metadata.persist.service.config.database;
-
-import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
-import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-@ExtendWith(MockitoExtension.class)
-class DataSourceNodePersistServiceTest {
-
- private DataSourceNodePersistService dataSourceNodePersistService;
-
- @Mock
- private PersistRepository repository;
-
- @BeforeEach
- void setUp() {
- dataSourceNodePersistService = new
DataSourceNodePersistService(repository);
- }
-
- @Test
- void assertLoad() {
-
when(repository.getChildrenKeys("/metadata/foo_db/data_sources/nodes")).thenReturn(Arrays.asList("foo_ds",
"bar_ds"));
-
when(repository.query("/metadata/foo_db/data_sources/nodes/foo_ds/active_version")).thenReturn("10");
-
when(repository.query("/metadata/foo_db/data_sources/nodes/foo_ds/versions/10")).thenReturn("{dataSourceClassName:
org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource}");
- Map<String, DataSourcePoolProperties> actual =
dataSourceNodePersistService.load("foo_db");
- assertThat(actual.size(), is(1));
- assertThat(actual.get("foo_ds").getPoolClassName(),
is("org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource"));
- }
-
- @Test
- void assertLoadWithDataSourceName() {
-
when(repository.query("/metadata/foo_db/data_sources/nodes/foo_ds/active_version")).thenReturn("10");
-
when(repository.query("/metadata/foo_db/data_sources/nodes/foo_ds/versions/10")).thenReturn("{dataSourceClassName:
org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource}");
- DataSourcePoolProperties actual =
dataSourceNodePersistService.load("foo_db", "foo_ds");
- assertThat(actual.getPoolClassName(),
is("org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource"));
- }
-
- @Test
- void assertPersist() {
- Map<String, DataSourcePoolProperties> dataSourceConfigs = new
LinkedHashMap<>(2, 1F);
- dataSourceConfigs.put("foo_ds", new
DataSourcePoolProperties("org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource",
Collections.emptyMap()));
- dataSourceConfigs.put("bar_ds", new
DataSourcePoolProperties("org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource",
Collections.emptyMap()));
-
when(repository.query("/metadata/foo_db/data_sources/nodes/foo_ds/active_version")).thenReturn("10");
-
when(repository.getChildrenKeys("/metadata/foo_db/data_sources/nodes/foo_ds/versions")).thenReturn(Collections.singletonList("10"));
- dataSourceNodePersistService.persist("foo_db", dataSourceConfigs);
-
verify(repository).persist(eq("/metadata/foo_db/data_sources/nodes/foo_ds/versions/11"),
any());
-
verify(repository).persist(eq("/metadata/foo_db/data_sources/nodes/bar_ds/versions/0"),
any());
- }
-
- @Test
- void assertDelete() {
- dataSourceNodePersistService.delete("foo_db", "foo_ds");
-
verify(repository).delete("/metadata/foo_db/data_sources/nodes/foo_ds");
- }
-}