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