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 2023/06/27 06:05:04 UTC
[shardingsphere] branch master updated: Alter props switch to active_version (#26612)
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 ed81acf5f6a Alter props switch to active_version (#26612)
ed81acf5f6a is described below
commit ed81acf5f6af1c5e0c31ad111a6f60f24aa87bba
Author: zhaojinchao <zh...@apache.org>
AuthorDate: Tue Jun 27 14:04:56 2023 +0800
Alter props switch to active_version (#26612)
---
.../shardingsphere/infra/instance/mode/ModeContextManager.java | 9 ---------
.../shardingsphere/metadata/persist/node/NewGlobalNode.java | 7 ++++++-
.../service/config/global/NewPropertiesPersistService.java | 8 ++++----
.../mode/manager/cluster/ClusterModeContextManager.java | 7 -------
.../mode/manager/cluster/NewClusterModeContextManager.java | 8 ++------
.../mode/manager/standalone/StandaloneModeContextManager.java | 6 ------
6 files changed, 12 insertions(+), 33 deletions(-)
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/mode/ModeContextManager.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/mode/ModeContextManager.java
index 3923c209767..01c8427a197 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/mode/ModeContextManager.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/mode/ModeContextManager.java
@@ -155,15 +155,6 @@ public interface ModeContextManager {
*/
void alterProperties(Properties props);
- /**
- * TODO Need to DistSQL handle call it
- * New alter properties.
- *
- * @param props pros
- * @return meta data versions
- */
- Collection<MetaDataVersion> newAlterProperties(Properties props);
-
/**
* TODO Remove to MetaDataPersistService
* Get active version by key.
diff --git a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/NewGlobalNode.java b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/NewGlobalNode.java
index 91b7a7bdae2..8fd67bacf44 100644
--- a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/NewGlobalNode.java
+++ b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/NewGlobalNode.java
@@ -113,7 +113,12 @@ public final class NewGlobalNode {
return String.join("/", getPropsRootNode(), VERSIONS);
}
- private static String getPropsRootNode() {
+ /**
+ * Get properties node.
+ *
+ * @return properties node
+ */
+ public static String getPropsRootNode() {
return String.join("/", "", PROPS_NODE);
}
}
diff --git a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/global/NewPropertiesPersistService.java b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/global/NewPropertiesPersistService.java
index 8eb36e126c6..97270411402 100644
--- a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/global/NewPropertiesPersistService.java
+++ b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/global/NewPropertiesPersistService.java
@@ -54,14 +54,14 @@ public final class NewPropertiesPersistService implements GlobalPersistService<P
@Override
public Collection<MetaDataVersion> persistConfig(final Properties props) {
- if (Strings.isNullOrEmpty(getActiveVersion())) {
- repository.persist(NewGlobalNode.getPropsActiveVersionNode(), DEFAULT_VERSION);
- }
List<String> versions = repository.getChildrenKeys(NewGlobalNode.getPropsVersionsNode());
String nextActiveVersion = versions.isEmpty() ? DEFAULT_VERSION : String.valueOf(Integer.parseInt(versions.get(0)) + 1);
String persistKey = NewGlobalNode.getPropsVersionNode(nextActiveVersion);
repository.persist(persistKey, YamlEngine.marshal(props));
- return Collections.singletonList(new MetaDataVersion(persistKey, getActiveVersion(), nextActiveVersion));
+ if (Strings.isNullOrEmpty(getActiveVersion())) {
+ repository.persist(NewGlobalNode.getPropsActiveVersionNode(), DEFAULT_VERSION);
+ }
+ return Collections.singletonList(new MetaDataVersion(NewGlobalNode.getPropsRootNode(), getActiveVersion(), nextActiveVersion));
}
@Override
diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterModeContextManager.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterModeContextManager.java
index dbb5abf4251..e0d8e5a8cd7 100644
--- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterModeContextManager.java
+++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterModeContextManager.java
@@ -25,13 +25,11 @@ import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSp
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView;
import org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO;
import org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaPOJO;
-import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
import org.apache.shardingsphere.metadata.persist.service.database.DatabaseMetaDataBasedPersistService;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.manager.ContextManagerAware;
import java.util.Collection;
-import java.util.Collections;
import java.util.Map;
import java.util.Properties;
import java.util.stream.Collectors;
@@ -123,11 +121,6 @@ public final class ClusterModeContextManager implements ModeContextManager, Cont
contextManager.getMetaDataContexts().getPersistService().getPropsService().persist(props);
}
- @Override
- public Collection<MetaDataVersion> newAlterProperties(final Properties props) {
- return Collections.emptyList();
- }
-
@Override
public void setContextManagerAware(final ContextManager contextManager) {
this.contextManager = contextManager;
diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/NewClusterModeContextManager.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/NewClusterModeContextManager.java
index c99b5ebceeb..b2aa381a581 100644
--- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/NewClusterModeContextManager.java
+++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/NewClusterModeContextManager.java
@@ -155,12 +155,8 @@ public final class NewClusterModeContextManager implements ModeContextManager, C
@Override
public void alterProperties(final Properties props) {
- contextManager.getMetaDataContexts().getPersistService().getPropsService().persist(props);
- }
-
- @Override
- public Collection<MetaDataVersion> newAlterProperties(final Properties props) {
- return contextManager.getMetaDataContexts().getPersistService().getPropsService().persistConfig(props);
+ Collection<MetaDataVersion> versions = contextManager.getMetaDataContexts().getPersistService().getPropsService().persistConfig(props);
+ contextManager.getMetaDataContexts().getPersistService().getMetaDataVersionPersistService().switchActiveVersion(versions);
}
@Override
diff --git a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneModeContextManager.java b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneModeContextManager.java
index 8a14c32e888..51c7ef73935 100644
--- a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneModeContextManager.java
+++ b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneModeContextManager.java
@@ -27,7 +27,6 @@ import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSp
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView;
import org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO;
import org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaPOJO;
-import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
import org.apache.shardingsphere.infra.rule.identifier.type.MetaDataHeldRule;
import org.apache.shardingsphere.infra.rule.identifier.type.MutableDataNodeRule;
import org.apache.shardingsphere.infra.rule.identifier.type.ResourceHeldRule;
@@ -284,11 +283,6 @@ public final class StandaloneModeContextManager implements ModeContextManager, C
clearServiceCache();
}
- @Override
- public Collection<MetaDataVersion> newAlterProperties(final Properties props) {
- return Collections.emptyList();
- }
-
private void clearServiceCache() {
OrderedServicesCache.clearCache();
}