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 <[email protected]>
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();
}