This is an automated email from the ASF dual-hosted git repository.

albumenj pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/3.0 by this push:
     new 819375bf44 [3.0] Always get mapping from remote when migrate (#9988)
819375bf44 is described below

commit 819375bf44584bb10cd658716363aad7cc59deb9
Author: Albumen Kevin <[email protected]>
AuthorDate: Mon Jun 13 09:53:38 2022 +0800

    [3.0] Always get mapping from remote when migrate (#9988)
    
    * [3.0] Always get mapping from remote when migrate
    
    * fix ut
---
 .../org/apache/dubbo/metadata/AbstractServiceNameMapping.java  |  5 +++++
 .../java/org/apache/dubbo/metadata/ServiceNameMapping.java     |  2 ++
 .../dubbo/registry/client/migration/model/MigrationRule.java   | 10 +++++-----
 .../registry/client/migration/model/MigrationRuleTest.java     |  2 +-
 4 files changed, 13 insertions(+), 6 deletions(-)

diff --git 
a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/AbstractServiceNameMapping.java
 
b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/AbstractServiceNameMapping.java
index 4871267ce0..305319f1d4 100644
--- 
a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/AbstractServiceNameMapping.java
+++ 
b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/AbstractServiceNameMapping.java
@@ -201,6 +201,11 @@ public abstract class AbstractServiceNameMapping 
implements ServiceNameMapping,
         return 
getCachedMapping(ServiceNameMapping.buildMappingKey(consumerURL));
     }
 
+    @Override
+    public Set<String> getRemoteMapping(URL consumerURL) {
+        return get(consumerURL);
+    }
+
     @Override
     public Set<String> removeCachedMapping(String serviceKey) {
         return mappingCacheManager.remove(serviceKey);
diff --git 
a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/ServiceNameMapping.java
 
b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/ServiceNameMapping.java
index 9727c97f60..934999ba07 100644
--- 
a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/ServiceNameMapping.java
+++ 
b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/ServiceNameMapping.java
@@ -114,6 +114,8 @@ public interface ServiceNameMapping extends Destroyable {
 
     Set<String> getCachedMapping(URL consumerURL);
 
+    Set<String> getRemoteMapping(URL consumerURL);
+
     Map<String, Set<String>> getCachedMapping();
 
     Set<String> removeCachedMapping(String serviceKey);
diff --git 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/model/MigrationRule.java
 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/model/MigrationRule.java
index a3e50c3b6d..1d24a70fea 100644
--- 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/model/MigrationRule.java
+++ 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/model/MigrationRule.java
@@ -165,7 +165,7 @@ public class MigrationRule {
 
         if (applications != null) {
             ServiceNameMapping serviceNameMapping = 
ServiceNameMapping.getDefaultExtension(consumerURL.getScopeModel());
-            Set<String> services = 
serviceNameMapping.getCachedMapping(consumerURL);
+            Set<String> services = 
serviceNameMapping.getRemoteMapping(consumerURL);
             if (CollectionUtils.isNotEmpty(services)) {
                 for (String service : services) {
                     SubMigrationRule rule = applicationRules.get(service);
@@ -216,7 +216,7 @@ public class MigrationRule {
 
         if (applications != null) {
             ServiceNameMapping serviceNameMapping = 
ServiceNameMapping.getDefaultExtension(consumerURL.getScopeModel());
-            Set<String> services = 
serviceNameMapping.getCachedMapping(consumerURL);
+            Set<String> services = 
serviceNameMapping.getRemoteMapping(consumerURL);
             if (CollectionUtils.isNotEmpty(services)) {
                 for (String service : services) {
                     SubMigrationRule rule = applicationRules.get(service);
@@ -256,7 +256,7 @@ public class MigrationRule {
 
         if (applications != null) {
             ServiceNameMapping serviceNameMapping = 
ServiceNameMapping.getDefaultExtension(consumerURL.getScopeModel());
-            Set<String> services = 
serviceNameMapping.getCachedMapping(consumerURL);
+            Set<String> services = 
serviceNameMapping.getRemoteMapping(consumerURL);
             if (CollectionUtils.isNotEmpty(services)) {
                 for (String service : services) {
                     SubMigrationRule rule = applicationRules.get(service);
@@ -292,7 +292,7 @@ public class MigrationRule {
 
         if (applications != null) {
             ServiceNameMapping serviceNameMapping = 
ServiceNameMapping.getDefaultExtension(consumerURL.getScopeModel());
-            Set<String> services = 
serviceNameMapping.getCachedMapping(consumerURL);
+            Set<String> services = 
serviceNameMapping.getRemoteMapping(consumerURL);
             if (CollectionUtils.isNotEmpty(services)) {
                 for (String service : services) {
                     SubMigrationRule rule = applicationRules.get(service);
@@ -332,7 +332,7 @@ public class MigrationRule {
 
         if (applications != null) {
             ServiceNameMapping serviceNameMapping = 
ServiceNameMapping.getDefaultExtension(consumerURL.getScopeModel());
-            Set<String> services = 
serviceNameMapping.getCachedMapping(consumerURL);
+            Set<String> services = 
serviceNameMapping.getRemoteMapping(consumerURL);
             if (CollectionUtils.isNotEmpty(services)) {
                 for (String service : services) {
                     SubMigrationRule rule = applicationRules.get(service);
diff --git 
a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/migration/model/MigrationRuleTest.java
 
b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/migration/model/MigrationRuleTest.java
index daf4052d62..412c597589 100644
--- 
a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/migration/model/MigrationRuleTest.java
+++ 
b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/client/migration/model/MigrationRuleTest.java
@@ -99,7 +99,7 @@ public class MigrationRuleTest {
 
         
Mockito.when(url.getDisplayServiceKey()).thenReturn("GreetingService:1.0.1");
         Mockito.when(url.getServiceInterface()).thenReturn("GreetingService");
-        
when(mapping.getCachedMapping(any(URL.class))).thenReturn(Collections.singleton("TestApplication"));
+        
when(mapping.getRemoteMapping(any(URL.class))).thenReturn(Collections.singleton("TestApplication"));
 
         Set<String> services = new HashSet<>();
         services.add("TestApplication");

Reply via email to