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