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 4aacd09ee7 fix_metadatainfo_out_of_memory (#10311)
4aacd09ee7 is described below

commit 4aacd09ee7342c821b01a0b9898cb1892824a1ff
Author: Owen.Cai <[email protected]>
AuthorDate: Tue Jul 19 20:34:53 2022 +0800

    fix_metadatainfo_out_of_memory (#10311)
    
    * fix_metadatainfo_out_of_memory
    
    * use JsonUtils
---
 .../org/apache/dubbo/metadata/MetadataInfo.java    |  2 ++
 .../apache/dubbo/metadata/MetadataInfoTest.java    | 24 ++++++++++++++++++++++
 2 files changed, 26 insertions(+)

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 2735b931ee..e2822e8965 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
@@ -26,6 +26,7 @@ import org.apache.dubbo.common.utils.CollectionUtils;
 import org.apache.dubbo.common.utils.JsonUtils;
 import org.apache.dubbo.common.utils.StringUtils;
 
+import java.beans.Transient;
 import java.io.Serializable;
 import java.util.Arrays;
 import java.util.Collections;
@@ -197,6 +198,7 @@ public class MetadataInfo implements Serializable {
         this.revision = revision;
     }
 
+    @Transient
     public String getContent() {
         return this.rawMetadataInfo;
     }
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 358e66856b..f2f76f4565 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
@@ -22,6 +22,8 @@ import org.apache.dubbo.common.utils.JsonUtils;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
+import java.util.Map;
+
 import static 
org.apache.dubbo.common.constants.CommonConstants.APPLICATION_KEY;
 import static org.apache.dubbo.common.constants.CommonConstants.GROUP_KEY;
 import static org.apache.dubbo.common.constants.CommonConstants.INTERFACE_KEY;
@@ -161,4 +163,26 @@ public class MetadataInfoTest {
         System.out.println(JsonUtils.getJson().toJson(metadataInfo2));
 
     }
+
+    @Test
+    public void testCal() {
+        MetadataInfo metadataInfo = new MetadataInfo("demo");
+
+        // export normal url again
+        metadataInfo.addService(url);
+
+        metadataInfo.calAndGetRevision();
+
+        metadataInfo.addService(url2);
+
+        metadataInfo.calAndGetRevision();
+
+        metadataInfo.addService(url3);
+
+        metadataInfo.calAndGetRevision();
+
+        Map<String, Object> ret  = 
JsonUtils.getJson().toJavaObject(metadataInfo.getContent(), Map.class);
+        assertNull(ret.get("content"));
+        assertNull(ret.get("rawMetadataInfo"));
+    }
 }

Reply via email to