This is an automated email from the ASF dual-hosted git repository. liujun pushed a commit to branch 3.0 in repository https://gitbox.apache.org/repos/asf/dubbo.git
commit 540f4959fd7a6df4cc9c0b49ec277c0eae5887a2 Author: ken.lj <[email protected]> AuthorDate: Mon Jul 27 15:20:51 2020 +0800 unify registry-cluster key --- .../dubbo/common/constants/RegistryConstants.java | 4 +++- .../org/apache/dubbo/metadata/MetadataInfo.java | 28 +++++++++++++++++----- .../apache/dubbo/metadata/MetadataInfoTest.java | 2 +- .../client/DefaultRegistryClusterIdentifier.java | 6 ++--- .../registry/client/DefaultServiceInstance.java | 1 + .../dubbo/registry/client/InstanceAddressURL.java | 12 +++++++++- .../registry/client/RegistryClusterIdentifier.java | 7 +++--- .../registry/client/ServiceDiscoveryRegistry.java | 25 +++++++++---------- .../listener/ServiceInstancesChangedListener.java | 5 ++-- ...MetadataServiceURLParamsMetadataCustomizer.java | 2 +- .../metadata/ServiceInstanceMetadataUtils.java | 4 ++-- .../store/InMemoryWritableMetadataService.java | 20 ++++++++-------- .../metadata/store/RemoteMetadataServiceImpl.java | 15 ++++++------ 13 files changed, 81 insertions(+), 50 deletions(-) diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/constants/RegistryConstants.java b/dubbo-common/src/main/java/org/apache/dubbo/common/constants/RegistryConstants.java index 420a909..d25e9fc 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/constants/RegistryConstants.java +++ b/dubbo-common/src/main/java/org/apache/dubbo/common/constants/RegistryConstants.java @@ -21,7 +21,9 @@ public interface RegistryConstants { String REGISTRY_KEY = "registry"; - String REGISTRY_CLUSTER = "REGISTRY_CLUSTER"; + String REGISTRY_CLUSTER_KEY = "REGISTRY_CLUSTER"; + + String REGISTRY_CLUSTER_TYPE_KEY = "registry-cluster-type"; String REGISTRY_PROTOCOL = "registry"; diff --git a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MetadataInfo.java b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MetadataInfo.java index 315e56e..47e8705 100644 --- a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MetadataInfo.java +++ b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MetadataInfo.java @@ -47,6 +47,7 @@ public class MetadataInfo implements Serializable { private String revision; private Map<String, ServiceInfo> services; + // used at runtime private transient Map<String, String> extendParams; private transient AtomicBoolean reported = new AtomicBoolean(false); @@ -85,7 +86,7 @@ public class MetadataInfo implements Serializable { markChanged(); } - public String getRevision() { + public String calAndGetRevision() { if (revision != null && hasReported()) { return revision; } @@ -161,8 +162,11 @@ public class MetadataInfo implements Serializable { @Override public String toString() { - // FIXME - return super.toString(); + return "metadata{" + + "app='" + app + "'," + + "revision='" + revision + "'," + + "services=" + services + + "}"; } public static class ServiceInfo implements Serializable { @@ -174,12 +178,17 @@ public class MetadataInfo implements Serializable { private String path; // most of the time, path is the same with the interface name. private Map<String, String> params; + // params configuried on consumer side, private transient Map<String, String> consumerParams; + // cached method params private transient Map<String, Map<String, String>> methodParams; private transient Map<String, Map<String, String>> consumerMethodParams; - private volatile transient Map<String, Number> numbers; - private volatile transient Map<String, Map<String, Number>> methodNumbers; + // cached numbers + private transient Map<String, Number> numbers; + private transient Map<String, Map<String, Number>> methodNumbers; + // service + group + version private transient String serviceKey; + // service + group + version + protocol private transient String matchKey; public ServiceInfo() { @@ -420,7 +429,14 @@ public class MetadataInfo implements Serializable { @Override public String toString() { - return super.toString(); + return "service{" + + "name='" + name + "'," + + "group='" + group + "'," + + "version='" + version + "'," + + "protocol='" + protocol + "'," + + "params=" + params + "," + + "consumerParams=" + consumerParams + + "}"; } } } diff --git a/dubbo-metadata/dubbo-metadata-api/src/test/java/org/apache/dubbo/metadata/MetadataInfoTest.java b/dubbo-metadata/dubbo-metadata-api/src/test/java/org/apache/dubbo/metadata/MetadataInfoTest.java index be8c3fe..fdb7021 100644 --- a/dubbo-metadata/dubbo-metadata-api/src/test/java/org/apache/dubbo/metadata/MetadataInfoTest.java +++ b/dubbo-metadata/dubbo-metadata-api/src/test/java/org/apache/dubbo/metadata/MetadataInfoTest.java @@ -31,6 +31,6 @@ public class MetadataInfoTest { metadataInfo.addService(serviceInfo); System.out.println(serviceInfo.toDescString()); - System.out.println(metadataInfo.getRevision()); + System.out.println(metadataInfo.calAndGetRevision()); } } diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/DefaultRegistryClusterIdentifier.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/DefaultRegistryClusterIdentifier.java index 6c88265..42cc10b 100644 --- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/DefaultRegistryClusterIdentifier.java +++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/DefaultRegistryClusterIdentifier.java @@ -18,16 +18,16 @@ package org.apache.dubbo.registry.client; import org.apache.dubbo.common.URL; -import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_CLUSTER; +import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_CLUSTER_KEY; public class DefaultRegistryClusterIdentifier implements RegistryClusterIdentifier { @Override public String providerKey(URL url) { - return url.getParameter(REGISTRY_CLUSTER); + return url.getParameter(REGISTRY_CLUSTER_KEY); } @Override public String consumerKey(URL url) { - return url.getParameter(REGISTRY_CLUSTER); + return url.getParameter(REGISTRY_CLUSTER_KEY); } } diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/DefaultServiceInstance.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/DefaultServiceInstance.java index 3c7204d..eb581f9 100644 --- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/DefaultServiceInstance.java +++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/DefaultServiceInstance.java @@ -49,6 +49,7 @@ public class DefaultServiceInstance implements ServiceInstance { private transient String address; private transient MetadataInfo serviceMetadata; + // used at runtime private transient Map<String, String> extendParams = new HashMap<>(); public DefaultServiceInstance() { diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/InstanceAddressURL.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/InstanceAddressURL.java index ca8f9be..f4ec3fe 100644 --- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/InstanceAddressURL.java +++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/InstanceAddressURL.java @@ -32,6 +32,8 @@ import static org.apache.dubbo.common.constants.CommonConstants.VERSION_KEY; public class InstanceAddressURL extends URL { private ServiceInstance instance; private MetadataInfo metadataInfo; + + // cached numbers private volatile transient Map<String, Number> numbers; private volatile transient Map<String, Map<String, Number>> methodNumbers; @@ -353,8 +355,16 @@ public class InstanceAddressURL extends URL { return getInstance().hashCode(); } + public String getServiceString(String service) { + MetadataInfo.ServiceInfo serviceInfo = metadataInfo.getServiceInfo(service); + if (serviceInfo == null) { + return instance.toString(); + } + return instance.toString() + serviceInfo.toString(); + } + @Override public String toString() { - return super.toString(); + return instance.toString() + metadataInfo.toString(); } } diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/RegistryClusterIdentifier.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/RegistryClusterIdentifier.java index 76d141a..9d0e4a0 100644 --- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/RegistryClusterIdentifier.java +++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/RegistryClusterIdentifier.java @@ -20,16 +20,17 @@ import org.apache.dubbo.common.URL; import org.apache.dubbo.common.extension.ExtensionLoader; import org.apache.dubbo.common.extension.SPI; +import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_CLUSTER_TYPE_KEY; + @SPI public interface RegistryClusterIdentifier { String providerKey(URL url); String consumerKey(URL url); - static RegistryClusterIdentifier getExtension() { + static RegistryClusterIdentifier getExtension(URL url) { ExtensionLoader<RegistryClusterIdentifier> loader = ExtensionLoader.getExtensionLoader(RegistryClusterIdentifier.class); -// return loader.getExtension(ConfigurationUtils.getProperty("dubbo.application.sd.type", "default")); - return loader.getExtension("default"); + return loader.getExtension(url.getParameter(REGISTRY_CLUSTER_TYPE_KEY, "default")); } } diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java index f3d41c5..efd3c57 100644 --- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java +++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java @@ -62,8 +62,7 @@ import static org.apache.dubbo.common.constants.CommonConstants.PROVIDER_SIDE; import static org.apache.dubbo.common.constants.CommonConstants.SIDE_KEY; import static org.apache.dubbo.common.constants.CommonConstants.VERSION_KEY; import static org.apache.dubbo.common.constants.RegistryConstants.PROVIDED_BY; -import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_CLUSTER; -import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_KEY; +import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_CLUSTER_KEY; import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_TYPE_KEY; import static org.apache.dubbo.common.constants.RegistryConstants.SERVICE_REGISTRY_TYPE; import static org.apache.dubbo.common.constants.RegistryConstants.SUBSCRIBED_SERVICE_NAMES_KEY; @@ -206,8 +205,8 @@ public class ServiceDiscoveryRegistry implements Registry { public void doRegister(URL url) { String registryCluster = serviceDiscovery.getUrl().getParameter(ID_KEY); - if (registryCluster != null) { - url = url.addParameter(REGISTRY_CLUSTER, registryCluster); + if (registryCluster != null && url.getParameter(REGISTRY_CLUSTER_KEY) == null) { + url = url.addParameter(REGISTRY_CLUSTER_KEY, registryCluster); } if (writableMetadataService.exportURL(url)) { if (logger.isInfoEnabled()) { @@ -230,8 +229,8 @@ public class ServiceDiscoveryRegistry implements Registry { public void doUnregister(URL url) { String registryCluster = serviceDiscovery.getUrl().getParameter(ID_KEY); - if (registryCluster != null) { - url = url.addParameter(REGISTRY_CLUSTER, registryCluster); + if (registryCluster != null && url.getParameter(REGISTRY_CLUSTER_KEY) == null) { + url = url.addParameter(REGISTRY_CLUSTER_KEY, registryCluster); } if (writableMetadataService.unexportURL(url)) { if (logger.isInfoEnabled()) { @@ -250,8 +249,8 @@ public class ServiceDiscoveryRegistry implements Registry { return; } String registryCluster = serviceDiscovery.getUrl().getParameter(ID_KEY); - if (registryCluster != null) { - url = url.addParameter(REGISTRY_KEY, registryCluster); + if (registryCluster != null && url.getParameter(REGISTRY_CLUSTER_KEY) == null) { + url = url.addParameter(REGISTRY_CLUSTER_KEY, registryCluster); } doSubscribe(url, listener); } @@ -273,8 +272,8 @@ public class ServiceDiscoveryRegistry implements Registry { return; } String registryCluster = serviceDiscovery.getUrl().getParameter(ID_KEY); - if (registryCluster != null) { - url = url.addParameter(REGISTRY_KEY, registryCluster); + if (registryCluster != null && url.getParameter(REGISTRY_CLUSTER_KEY) == null) { + url = url.addParameter(REGISTRY_CLUSTER_KEY, registryCluster); } doUnsubscribe(url, listener); } @@ -319,9 +318,11 @@ public class ServiceDiscoveryRegistry implements Registry { List<ServiceInstance> serviceInstances = serviceDiscovery.getInstances(serviceName); serviceListener.onEvent(new ServiceInstancesChangedEvent(serviceName, serviceInstances)); }); - listener.notify(serviceListener.getUrls(url.getServiceKey() + GROUP_CHAR_SEPARATOR + url.getParameter(PROTOCOL_KEY, DUBBO))); + String protocolServiceKey = url.getServiceKey() + GROUP_CHAR_SEPARATOR + url.getParameter(PROTOCOL_KEY, DUBBO); - serviceListener.addListener(url.getProtocolServiceKey(), listener); + listener.notify(serviceListener.getUrls(protocolServiceKey)); + + serviceListener.addListener(protocolServiceKey, listener); registerServiceInstancesChangedListener(url, serviceListener); } diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/event/listener/ServiceInstancesChangedListener.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/event/listener/ServiceInstancesChangedListener.java index 37b6bf0..6ff7c2a 100644 --- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/event/listener/ServiceInstancesChangedListener.java +++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/event/listener/ServiceInstancesChangedListener.java @@ -45,8 +45,8 @@ import java.util.Objects; import java.util.Set; import java.util.TreeSet; -import static org.apache.dubbo.common.constants.CommonConstants.REGISTER_KEY; import static org.apache.dubbo.common.constants.CommonConstants.REMOTE_METADATA_STORAGE_TYPE; +import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_CLUSTER_KEY; import static org.apache.dubbo.metadata.MetadataInfo.DEFAULT_REVISION; import static org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataUtils.getExportedServicesRevision; @@ -156,7 +156,8 @@ public class ServiceInstancesChangedListener implements ConditionalEventListener private MetadataInfo getMetadataInfo(ServiceInstance instance) { String metadataType = ServiceInstanceMetadataUtils.getMetadataStorageType(instance); - instance.getExtendParams().putIfAbsent(REGISTER_KEY, RegistryClusterIdentifier.getExtension().consumerKey(url)); + // FIXME, check "REGISTRY_CLUSTER_KEY" must be set by every registry implementation. + instance.getExtendParams().putIfAbsent(REGISTRY_CLUSTER_KEY, RegistryClusterIdentifier.getExtension(url).consumerKey(url)); MetadataInfo metadataInfo; try { if (REMOTE_METADATA_STORAGE_TYPE.equals(metadataType)) { diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataServiceURLParamsMetadataCustomizer.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataServiceURLParamsMetadataCustomizer.java index 8b525c7..9cc28a7 100644 --- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataServiceURLParamsMetadataCustomizer.java +++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataServiceURLParamsMetadataCustomizer.java @@ -41,7 +41,7 @@ public class MetadataServiceURLParamsMetadataCustomizer implements ServiceInstan String propertyValue = resolveMetadataPropertyValue(serviceInstance); if (!isBlank(propertyName) && !isBlank(propertyValue)) { - metadata.put(propertyName, metadata.get(propertyName)); + metadata.put(propertyName, propertyValue); } } diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/ServiceInstanceMetadataUtils.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/ServiceInstanceMetadataUtils.java index 5713256..0f0cf3c 100644 --- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/ServiceInstanceMetadataUtils.java +++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/ServiceInstanceMetadataUtils.java @@ -244,8 +244,8 @@ public class ServiceInstanceMetadataUtils { MetadataInfo metadataInfo = WritableMetadataService.getDefaultExtension().getMetadataInfos().get(registryCluster); if (metadataInfo != null) { String existingInstanceRevision = instance.getMetadata().get(EXPORTED_SERVICES_REVISION_PROPERTY_NAME); - if (!metadataInfo.getRevision().equals(existingInstanceRevision)) { - instance.getMetadata().put(EXPORTED_SERVICES_REVISION_PROPERTY_NAME, metadataInfo.getRevision()); + if (!metadataInfo.calAndGetRevision().equals(existingInstanceRevision)) { + instance.getMetadata().put(EXPORTED_SERVICES_REVISION_PROPERTY_NAME, metadataInfo.calAndGetRevision()); if (existingInstanceRevision != null) {// skip the first registration. instance.getExtendParams().put(INSTANCE_REVISION_UPDATED_KEY, "true"); } diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/store/InMemoryWritableMetadataService.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/store/InMemoryWritableMetadataService.java index 2b747de..f0281da 100644 --- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/store/InMemoryWritableMetadataService.java +++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/store/InMemoryWritableMetadataService.java @@ -125,10 +125,10 @@ public class InMemoryWritableMetadataService implements WritableMetadataService @Override public boolean exportURL(URL url) { - String registryKey = RegistryClusterIdentifier.getExtension().providerKey(url); - String[] keys = registryKey.split(","); - for (String key : keys) { - MetadataInfo metadataInfo = metadataInfos.computeIfAbsent(key, k -> { + String registryCluster = RegistryClusterIdentifier.getExtension().providerKey(url); + String[] clusters = registryCluster.split(","); + for (String cluster : clusters) { + MetadataInfo metadataInfo = metadataInfos.computeIfAbsent(cluster, k -> { return new MetadataInfo(ApplicationModel.getName()); }); metadataInfo.addService(new ServiceInfo(url)); @@ -139,13 +139,13 @@ public class InMemoryWritableMetadataService implements WritableMetadataService @Override public boolean unexportURL(URL url) { - String registryKey = RegistryClusterIdentifier.getExtension().providerKey(url); - String[] keys = registryKey.split(","); - for (String key : keys) { - MetadataInfo metadataInfo = metadataInfos.get(key); + String registryCluster = RegistryClusterIdentifier.getExtension().providerKey(url); + String[] clusters = registryCluster.split(","); + for (String cluster : clusters) { + MetadataInfo metadataInfo = metadataInfos.get(cluster); metadataInfo.removeService(url.getProtocolServiceKey()); if (metadataInfo.getServices().isEmpty()) { - metadataInfos.remove(key); + metadataInfos.remove(cluster); } } metadataSemaphore.release(); @@ -199,7 +199,7 @@ public class InMemoryWritableMetadataService implements WritableMetadataService } for (Map.Entry<String, MetadataInfo> entry : metadataInfos.entrySet()) { MetadataInfo metadataInfo = entry.getValue(); - if (revision.equals(metadataInfo.getRevision())) { + if (revision.equals(metadataInfo.calAndGetRevision())) { return metadataInfo; } } diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/store/RemoteMetadataServiceImpl.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/store/RemoteMetadataServiceImpl.java index 2d543e5..c4235f4 100644 --- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/store/RemoteMetadataServiceImpl.java +++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/store/RemoteMetadataServiceImpl.java @@ -44,8 +44,7 @@ import static org.apache.dubbo.common.constants.CommonConstants.PROVIDER_SIDE; import static org.apache.dubbo.common.constants.CommonConstants.SIDE_KEY; import static org.apache.dubbo.common.constants.CommonConstants.TIMESTAMP_KEY; import static org.apache.dubbo.common.constants.CommonConstants.VERSION_KEY; -import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_CLUSTER; -import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_KEY; +import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_CLUSTER_KEY; public class RemoteMetadataServiceImpl { protected final Logger logger = LoggerFactory.getLogger(getClass()); @@ -61,12 +60,12 @@ public class RemoteMetadataServiceImpl { public void publishMetadata(String serviceName) { Map<String, MetadataInfo> metadataInfos = localMetadataService.getMetadataInfos(); - metadataInfos.forEach((registryKey, metadataInfo) -> { + metadataInfos.forEach((registryCluster, metadataInfo) -> { if (!metadataInfo.hasReported()) { - SubscriberMetadataIdentifier identifier = new SubscriberMetadataIdentifier(serviceName, metadataInfo.getRevision()); - metadataInfo.getRevision(); - metadataInfo.getExtendParams().put(REGISTRY_KEY, registryKey); - MetadataReport metadataReport = getMetadataReports().get(registryKey); + SubscriberMetadataIdentifier identifier = new SubscriberMetadataIdentifier(serviceName, metadataInfo.calAndGetRevision()); + metadataInfo.calAndGetRevision(); + metadataInfo.getExtendParams().put(REGISTRY_CLUSTER_KEY, registryCluster); + MetadataReport metadataReport = getMetadataReports().get(registryCluster); if (metadataReport == null) { metadataReport = getMetadataReports().entrySet().iterator().next().getValue(); } @@ -80,7 +79,7 @@ public class RemoteMetadataServiceImpl { SubscriberMetadataIdentifier identifier = new SubscriberMetadataIdentifier(instance.getServiceName(), ServiceInstanceMetadataUtils.getExportedServicesRevision(instance)); - String registryCluster = instance.getExtendParams().get(REGISTRY_CLUSTER); + String registryCluster = instance.getExtendParams().get(REGISTRY_CLUSTER_KEY); MetadataReport metadataReport = getMetadataReports().get(registryCluster); if (metadataReport == null) {
