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());