You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2022/02/28 07:11:53 UTC

[dubbo] branch 3.0 updated: ignore raw content in MetadataInfo (#9726)

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


The following commit(s) were added to refs/heads/3.0 by this push:
     new e4c036d  ignore raw content in MetadataInfo (#9726)
e4c036d is described below

commit e4c036d287c33a47a1d4f44d66e959e18a5b3ab8
Author: ken.lj <ke...@gmail.com>
AuthorDate: Mon Feb 28 15:11:26 2022 +0800

    ignore raw content in MetadataInfo (#9726)
---
 .../org/apache/dubbo/metadata/MappingCacheManager.java    |  2 +-
 .../main/java/org/apache/dubbo/metadata/MetadataInfo.java |  4 ++--
 .../event/listener/ServiceInstancesChangedListener.java   | 15 ++++++++++++++-
 3 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MappingCacheManager.java b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MappingCacheManager.java
index a289eb0..fd66737 100644
--- a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MappingCacheManager.java
+++ b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MappingCacheManager.java
@@ -33,7 +33,7 @@ import java.util.concurrent.ScheduledExecutorService;
  */
 public class MappingCacheManager extends AbstractCacheManager<Set<String>> {
     private static final String DEFAULT_FILE_NAME = ".mapping";
-    private static final int DEFAULT_ENTRY_SIZE = 1000;
+    private static final int DEFAULT_ENTRY_SIZE = 10000;
     private static final Type founderSetType = new TypeToken<TreeSet<String>>() {
     }.getType();
 
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 dd56403..b412e05 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
@@ -66,13 +66,13 @@ public class MetadataInfo implements Serializable {
     private String app;
     // revision that will report to registry or remote meta center, must always update together with rawMetadataInfo, check {@link this#calAndGetRevision}
     private volatile String revision;
-    // Json formatted metadata that will report to remote meta center, must always update together with revision, check {@link this#calAndGetRevision}
-    private volatile String rawMetadataInfo;
     // key format is '{group}/{interface name}:{version}:{protocol}'
     private final Map<String, ServiceInfo> services;
 
     /* used at runtime */
     private transient AtomicBoolean initiated = new AtomicBoolean(false);
+    // Json formatted metadata that will report to remote meta center, must always update together with revision, check {@link this#calAndGetRevision}
+    private transient volatile String rawMetadataInfo;
     // key format is '{group}/{interface name}:{version}'
     private transient Map<String, Set<ServiceInfo>> subscribedServices;
     private transient final Map<String, String> extendParams;
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 b147c32..e1fa7d7 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
@@ -172,7 +172,7 @@ public class ServiceInstancesChangedListener {
                     retryFuture.cancel(true);
                 }
                 retryFuture = scheduler.schedule(new AddressRefreshRetryTask(retryPermission, event.getServiceName()), 10_000L, TimeUnit.MILLISECONDS);
-                logger.warn("Address refresh try task submitted.");
+                logger.warn("Address refresh try task submitted");
             }
             // return if all metadata is empty, this notification will not take effect.
             if (emptyNum == revisionToInstances.size()) {
@@ -326,12 +326,25 @@ public class ServiceInstancesChangedListener {
         if (revisionToInstances == null) {
             return 0;
         }
+
+        StringBuilder builder = new StringBuilder();
         int emptyMetadataNum = 0;
         for (Map.Entry<String, List<ServiceInstance>> entry : revisionToInstances.entrySet()) {
             DefaultServiceInstance serviceInstance = (DefaultServiceInstance) entry.getValue().get(0);
             if (serviceInstance == null || serviceInstance.getServiceMetadata() == MetadataInfo.EMPTY) {
                 emptyMetadataNum++;
             }
+
+            builder.append(entry.getKey());
+            builder.append(" ");
+        }
+
+        if (emptyMetadataNum > 0) {
+            builder.insert(0, emptyMetadataNum + "/" + revisionToInstances.size() + " revisions failed to get metadata from remote: ");
+            logger.error(builder.toString());
+        } else {
+            builder.insert(0, revisionToInstances.size() + " unique working revisions: ");
+            logger.info(builder.toString());
         }
         return emptyMetadataNum;
     }