You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by tu...@apache.org on 2023/06/19 09:46:06 UTC
[shardingsphere] branch master updated: Fix global active version bug (#26435)
This is an automated email from the ASF dual-hosted git repository.
tuichenchuxin 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 f788f6138ac Fix global active version bug (#26435)
f788f6138ac is described below
commit f788f6138ac081d6e346eb7087d27688aa1cc5b9
Author: zhaojinchao <zh...@apache.org>
AuthorDate: Mon Jun 19 17:45:58 2023 +0800
Fix global active version bug (#26435)
---
.../persist/service/config/global/NewGlobalRulePersistService.java | 6 +++++-
.../persist/service/config/global/NewPropertiesPersistService.java | 4 ++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/global/NewGlobalRulePersistService.java b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/global/NewGlobalRulePersistService.java
index ce603fa825a..d161bf00bc0 100644
--- a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/global/NewGlobalRulePersistService.java
+++ b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/global/NewGlobalRulePersistService.java
@@ -83,7 +83,7 @@ public final class NewGlobalRulePersistService extends AbstractPersistService im
private Collection<MetaDataVersion> persistDataNodes(final Collection<YamlDataNode> dataNodes) {
Collection<MetaDataVersion> result = new LinkedList<>();
for (YamlDataNode each : dataNodes) {
- if (Strings.isNullOrEmpty(NewGlobalNode.getGlobalRuleActiveVersionNode(each.getKey()))) {
+ if (Strings.isNullOrEmpty(getActiveVersion(each.getKey()))) {
repository.persist(NewGlobalNode.getGlobalRuleActiveVersionNode(each.getKey()), DEFAULT_VERSION);
}
List<String> versions = repository.getChildrenKeys(NewGlobalNode.getGlobalRuleVersionsNode(each.getKey()));
@@ -113,4 +113,8 @@ public final class NewGlobalRulePersistService extends AbstractPersistService im
.filter(AuthorityRuleConfiguration.class::isInstance).map(AuthorityRuleConfiguration.class::cast).findFirst();
return authorityRuleConfig.isPresent() ? authorityRuleConfig.get().getUsers() : Collections.emptyList();
}
+
+ private String getActiveVersion(final String ruleName) {
+ return repository.getDirectly(NewGlobalNode.getGlobalRuleActiveVersionNode(ruleName));
+ }
}
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 4439aaafff6..56c2540688c 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
@@ -42,7 +42,7 @@ public final class NewPropertiesPersistService implements GlobalPersistService<P
@Override
public void persist(final Properties props) {
- if (Strings.isNullOrEmpty(repository.getDirectly(getActiveVersion()))) {
+ if (Strings.isNullOrEmpty(getActiveVersion())) {
repository.persist(NewGlobalNode.getPropsActiveVersionNode(), DEFAULT_VERSION);
}
List<String> versions = repository.getChildrenKeys(NewGlobalNode.getPropsVersionsNode());
@@ -54,7 +54,7 @@ public final class NewPropertiesPersistService implements GlobalPersistService<P
@Override
public Collection<MetaDataVersion> persistConfig(final Properties props) {
- if (Strings.isNullOrEmpty(repository.getDirectly(getActiveVersion()))) {
+ if (Strings.isNullOrEmpty(getActiveVersion())) {
repository.persist(NewGlobalNode.getPropsActiveVersionNode(), DEFAULT_VERSION);
}
List<String> versions = repository.getChildrenKeys(NewGlobalNode.getPropsVersionsNode());